对于MVC的编程,主要应该先了解M(模型)-V(视图)-C(控制器)的相关概念,并进而理解相关的框架类别及操作方法.
1,ASP.NET MVC框架中的路由主要有两种用途:
a,匹配传入的请求, 并把这些请求映射到控制器操作.
b,构造传出的URL,用来响应控制器中的操作.
2,在Global.asax.cs文件中, Application_Start方法中调用了一个名为RegisterRoutes的方法, 该方法在~/App_Start/RouteConfig.cs文件中, 可以用来为应用程序注册需要的所有路由.
常用代码为:
public static void RegisterRoutes(RouteCollection routes)
{
routes.MapRoute("simple", //路由名称
"{first}/{second}/{third}",defaults: new {third=UrlParameter.Optional,second="index"}, ///URL模式,即通过一定的规则把此模式解析成一个存储在RouteValue-Dictionary实例中的键/值对.
new{first=@"\d{4}", ///注意默认值与路由约束的定义规则, 即正则表达式的应用.
new[] {"AreasDemoWeb.Controllers"} ///指定名称空间数据.
);
}
即所谓的定义路由一般是指定义路由中包含的匹配URL的模式.
可以匹配具有任意个段的URL的Catch-All参数为*extrastuff.
另外,路由参数还具有贪婪匹配的特性, 即尽可能多的匹配前者.
3, web form中的路由机制.
即在Global.asax文件中添加对System.Web.Routing的引用, 则声明 Web Forms路由的格式如下:
void Application_Start(object sender, EventArgs e)
{
RegisterRoutes(RouteTable.Routes);
}
private voide RegisterRoutes(RouteCollection routes)
{
routes.MapPageRoute(
"product-search",
"albums/search/{term}",
"~/AlbumSearch.aspx");
}