ASP.Net MVC框架配置與分析
前幾年的時候ASP.Net就有MVC的概念,實際上就是我們熟悉的WebForm開發模型。
1、Model層與視圖無關,并且只與數據庫相關:
偽代碼:
pulic class Model |
2、Controller實際上就是我們熟悉的Default.aspx.cs文件,繼承自System.Web.UI.Page 類的文件
3、View就是aspx文件了
而今,微軟推出了新的MVC開發框架,也就是Microsoft ASP.NET 3.5 Extensions。可以從這里下載:http://download.microsoft.com/download/6/5/c/65cad864-54a5-463a-9573-bc7d0bbc1df9/ASPNetExt.exe
當然,安裝之前必須安裝VS2008。安裝完后可以在創建項目的地方增加以下兩種項目。
一種是“ASP.NET MVC Web Application and Test”會同時創建MVC項目和一個測試項目,一個是ASP.NET MVC Web Application,只會純粹的建立MVC項目。而在項目中引用新文件的時候,也會增加MVC的頁面。
在創建MVC項目以后,會增加以下文件
訪問的機制是通過URL重寫實現的。因此,你需要設置IIS映射。
MVC是通過HttpModule進行地址重寫的
< httpModules ﹥ |
而在Global.asax.cs中設置了映射關系
//URL格式設置了訪問的為controller(這里是Home),action對應HomeController里的方法
RouteTable.Routes.Add(newRoute
{
Url="[controller]/[action]/[id]",
Defaults=new{action="Index",id=(string)null},
RouteHandler=typeof(MvcRouteHandler)
});
//設置默認訪問地址,因此主目錄下看似無用的Default.aspx不能刪除掉
//controller="Home"設置的是訪問的路徑,這里對應上圖中的Home目錄,也對應了HomeController的類名
//action是對應HomeController.cs類中的Index方法。
RouteTable.Routes.Add(newRoute
{
Url="Default.aspx",
Defaults=new{controller="Home",action="Index",id=(string)null},
RouteHandler=typeof(MvcRouteHandler)
});
HomeController.cs代碼:
publicclassHomeController:Controller
{
[ControllerAction]
publicvoidIndex()
{
RenderView("Index");
}
[ControllerAction]
publicvoidAbout()
{
RenderView("About");
}
}
在HomeController中找到要訪問的頁面
最后要說明的是Html.ActionLink("About Us", "About", "Test")方法,能夠實現自動鏈接處理。
【編輯推薦】