使用默认的路由规则生成的html源码:
<a href="/MVC_Page/Index/1?pageIndex=2">下一页</a>
加了路由规则:
路由规则代码:
//新添加路由规则后的url:<a href="/MVC_Page/Index/2">下一页</a> routes.MapRoute( "mvc_page", // 路由名称 "{controller}/{action}/{pageIndex}", // 带有参数的 URL new { controller = "MVC_Page", action = "Index", pageIndex = UrlParameter.Optional } // 参数默认值 ); //这个是默认的没加 url :<a href="/MVC_Page/Index/1?pageIndex=2">下一页</a> routes.MapRoute( "Default", // 路由名称 "{controller}/{action}/{id}", // 带有参数的 URL new { controller = "Home", action = "Index", id = UrlParameter.Optional } // 参数默认值 );
生成的html源码:<a href="/MVC_Page/Index/2">下一页</a>
我的问题是新添加的那个规则routes.MapRoute的第2个参数 的问题 为什么要这么写的原因
注:这个不是问加了和没加的问题 什么前后的问题 开始可能是我没表达清楚
新注册的路由应该是放在默认的路由的上面,路由的检测是从上到下的检测的,如果找到符合的,就不在继续检测了
朋友 我改了下问题 开始可能是我没表达清楚 我问题不是这个意思 。
新添加的为什么这么写? 这样是制定你的这个请求交给MV C_P age这个cont roller来处理,具体的方法是In dex.,没别的。如果你没有添加这个路由的话,就会路由到默认的路由规则,也就是交给Ho me 这个contr oller来处理。
朋友你看懂了我的意思吗?