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