前几年的时候ASPNet就有MVC的概念实际上就是我们熟悉的WebForm开发模型
Model层与视图无关并且只与数据库相关
伪代码
pulic class Model
{
pulic DataSet ds()
{
//数据库库取数据
return ds;
}
}
Controller实际上就是我们熟悉的Defaultaspxcs文件继承自SystemWebUIPage 类的文件
View就是aspx文件了
而今微软推出了新的MVC开发框架也就是Microsoft ASPNET Extensions可以从这里下载aabcdbbcdf/ASPNetExtexe
当然安装之前必须安装VS安装完后可以在创建项目的地方增加以下两种项目
一种是ASPNET MVC Web Application and Test会同时创建MVC项目和一个测试项目一个是ASPNET MVC Web Application只会纯粹的建立MVC项目而在项目中引用新文件的时候也会增加MVC的页面
在创建MVC项目以后会增加以下文件
访问的机制是通过URL重写实现的因此你需要设置IIS映射
MVC是通过HttpModule进行地址重写的
< httpModules >
< addname = ScriptModule type = SystemWebHandlersScriptModuleSystemWebExtensionsVersion=Culture=neutralPublicKeyToken=BFADE />
< addname = DynamicDataModule type = SystemWebDynamicDataDynamicDataHttpModuleSystemWebExtensionsVersion=Culture=neutralPublicKeyToken=BFADE />
< addname = UrlRoutingModule type = SystemWebMvcUrlRoutingModuleSystemWebExtensionsVersion=Culture=neutralPublicKeyToken=BFADE />
</ httpModules >
而在Globalasaxcs中设置了映射关系
//设置Url重写映射
//URL格式设置了访问的为controller(这里是Home)action对应HomeController里的方法
RouteTableRoutesAdd(new Route
{
Url = [controller]/[action]/[id]
Defaults = new { action = Index id = (string)null }
RouteHandler = typeof(MvcRouteHandler)
});
//设置默认访问地址因此主目录下看似无用的Defaultaspx不能删除掉
//controller=Home设置的是访问的路径这里对应上图中的Home目录也对应了HomeController的类名
//action是对应HomeControllercs类中的Index方法
RouteTableRoutesAdd(new Route
{
Url = Defaultaspx
Defaults = new { controller = Home action = Index id = (string)null }
RouteHandler = typeof(MvcRouteHandler)
});
HomeControllercs代码
public class HomeController : Controller
{
[ControllerAction]
public void Index()
{
RenderView(Index);
}
[ControllerAction]
public void About()
{
RenderView(About);
}
}
在HomeController中找到要访问的页面
最后要说明的是HtmlActionLink(About Us About Test)方法能够实现自动链接处理
参数是 链接显示的文字
参数是 要访问的文件
参数是 访问的目录尽管参数名是controllerName