1.什么是路由?
路由,是映射到处理程序的URL模式。简单说就是URL地址。
2.什么又是URL模式呢?
URL模式就好像我们经常使用的格式化字符串,
string
.Format(
"
Hello,{0}
"
,
"
博客园的朋友
"
);
{language}-{country}/{action}
{controller}/{action}/{id}
3.路由的检测
(1.)下载dll工具:/Files/Simcoder/RouteDebug-Binary.zip
(2.)引用RouteDebug.dll
(3.)在Global.asax文件中编写如下代码:
protected
void
Application_Start()
{
AreaRegistration.RegisterAllAreas();
RegisterRoutes(RouteTable.Routes);
RouteDebug.RouteDebugger.RewriteRoutesForTesting(RouteTable.Routes);
}
{
AreaRegistration.RegisterAllAreas();
RegisterRoutes(RouteTable.Routes);
RouteDebug.RouteDebugger.RewriteRoutesForTesting(RouteTable.Routes);
}
运行效果如下:
我们可以清楚的看到 controller:Home action:Index Id:参数
4.再看Global.asax文件
代码
public
static
void
RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute( " {resource}.axd/{*pathInfo} " );
routes.MapRoute(
" Default " , // 路由名称
" {controller}/{action}/{id} " , // 带有参数的 URL
new { controller = " Home " , action = " Index " , id = UrlParameter.Optional } // 参数默认值
);
}
{
routes.IgnoreRoute( " {resource}.axd/{*pathInfo} " );
routes.MapRoute(
" Default " , // 路由名称
" {controller}/{action}/{id} " , // 带有参数的 URL
new { controller = " Home " , action = " Index " , id = UrlParameter.Optional } // 参数默认值
);
}
默认controller = "Home", action = "Index", id = UrlParameter.Optional
MVC博客目录: