好久沒有寫BLOG了,可能沒有技術上的新發現,也不知道在這裡和大家共用什麼。 最近在研究MVC 2.0, 這個玩意大家都知道是把軟體系統分為三個基本部分:模型(Model),視圖(View)和控制器(Controller)。說它好,它確實好,開發起來簡單方便;說它不好,也確實存在一些問題。比如說版本升級的風險,效能比較研究現在都不夠深刻。我剛剛開始學的時候在網上找資料找了好多都是一樣的,並且現在大部分都是針對MVC1.0的介紹。為了讓初學者少走彎路,就藉此地和大家分享下我的學習經曆,我也不賣官子寫一講,二講......了,我覺得這個入門了就走出了一大步,所以就一次性全部拿出來說啦。
要用這個第一步:要裝一個:AspNetMVC2_VS2008.exe ,這個東西網上一搜很多地方由下載,看你的VS是什麼版本的,下載安裝好了就會在你的VS建立模板的時候有:;建立一個 “Asp.Net MVC 2 Web Application”,然後跟著會彈出問你是否建立一個測試的項目,我們選擇否。然後系統就會自動建立一些問題,這些檔案就是我們學習的模板,我們不懂原理不要緊,照葫蘆畫瓢,畫幾個就懂了。項目建好了,我們要說說裡面的檔案的使用。我們的 View檔案中有幾個原始目錄,,這個要搞清楚的就是controller是檔案夾,action就是頁面。如我們要瀏覽Home目錄下的Index.aspx;就要在根目錄下的 Global.asax 裡面設定:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
}
知道怎麼瀏覽了,我們下一步要看怎麼Add View,Add View分好幾種選項,空檔案和強型別資料檔案,初學最好用空檔案,因為強型別的還要改一些東西。我們建立一個檔案夾D1,然後在D1下建V1.aspx;然後像上面一樣瀏覽是瀏覽不出來的,因為我們還要在Controllers檔案夾目錄下的類檔案中加上相應的控制。
比如: public ActionResult V1()
{
return View();
}
這樣的。否則瀏覽的時候就會提示:“ /應用程式中的伺服器錯誤。無法找到資源。” 。
簡單的Add View 好了,我們就看看裡面怎麼用,一開始看看傳值方式:
ViewData["myDate"] = "測試用ViewDate簡單的傳值,僅限於當前頁面";
TempData["myTempDate"] = "測試用TempDate簡單的傳值,可以作為頁面跳轉間傳值使用,但只能用一次,第二次請求的時候就沒有了";
ViewDate是很強悍的玩意,什麼東西都能存,string,List,DataTable,某個類的實體都沒有問題就想Session一樣。我的Demo中都有執行個體的。
傳值還有一部分就是連結傳值,比如我們在V4中建立一個連結:
<%= Html.ActionLink("測試連結傳到V5", "V5", "D1",
new { word = " 第一個值word ",key=" 第二個值:key ",uid=" 第三個值:uid " }, new { @class="D1"}
)%>
這樣就是建立了一個連結,第一個參數是“連結文字”,第二個參數是:“連結需要跳轉的頁面”,第三個參數是“檔案夾”,第四個參數是:“連結的參數”;
V5頁面接受上面這個連結的方法有兩種:
/// <summary>
/// 方法一
/// </summary>
/// <param name="word"></param>
/// <returns></returns>
public ActionResult V5(string word, string key, string uid) //這裡定義的變數名字一定要和連結上帶的名字一摸一樣的。
{
ViewData["qt"] = word + key + uid;
return View();
}
/// <summary>
/// 方法二
/// </summary>
/// <returns></returns>
public ActionResult V5()
{
ViewData["qt"] = Request.QueryString["word"].ToString() + Request.QueryString["key"].ToString() + Request.QueryString["uid"].ToString();
return View();
}
這是我們經常用的連結傳值。
基本入門知道這些就OK了,再細就要靠自己去挖掘了。Demo中還有關於表單提交,註冊,登陸和上面說的Add View選擇強型別的方法,大家可以自己研究研究。
Demo地址: http://files.cnblogs.com/teracy/Demo100528.zip