ASP.Net MVC框架配置与分析

前几年的时候ASP.Net 就有MVC的概念,实际上就是我们熟悉的WebForm开发模型。

1、Model层与视图无关,并且只与数据库 相 关:
伪代码:

pulic class Model
{
pulic DataSet ds()
{
//数据库库取数据
return ds;
}
}

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框架配置与分析(图一)

一种是“ASP.NET MVC Web Application and Test”会同时创建MVC项目和一个测试项目,一个是ASP.NET MVC Web Application,只会纯粹的建立MVC项目。而在项目中引用新文件的时候,也会增加MVC的页面。

ASP.Net 
MVC框架配置与分析(图二)

在创建MVC项目以后,会增加以下文件

ASP.Net 
MVC框架配置与分析(图三)  

访问的机制是通过URL重写实现的。因此,你需要设置IIS 映 射。

ASP.Net 
MVC框架配置与分析(图四) 点击查看大图  

MVC是通过HttpModule进行地址重写的

 < httpModules ﹥ 
﹤ add name = " ScriptModule "  type = " System.Web.Handlers.ScriptModule,
System.Web.Extensions, Version=3.6.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35 " /﹥
﹤ add name = " DynamicDataModule "  type = " System.Web.DynamicData.DynamicDataHttpModule,
System.Web.Extensions, Version=3.6.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35 " /﹥
﹤ add name = " UrlRoutingModule "  type = " System.Web.Mvc.UrlRoutingModule,
System.Web.Extensions, Version=3.6.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35 "   /﹥
﹤/ httpModules ﹥

而在Global.asax.cs中设置了映射关系

//设置Url重写映射
//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")方法,能够实现自动链接处理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值