public
static
void
RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute(
"{resource}.axd/{*pathInfo}"
);
routes.MapRoute(
"Default"
,
// 路由名称
"{controller}/{action}/{id}"
,
// 带有参数的 URL
new
{ controller =
"Home"
, action =
"Index"
, id =“defaultID”},
// 参数默认值
);
}
|
public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); //自定义路由模式 routes.MapRoute("", // 路由名称 "Public/{controller}/{action}", // 带有参数的 URL new { controller = "Home", action = "Index"}, // 参数默认值 ); routes.MapRoute( "Default", // 路由名称 "{controller}/{action}/{id}", // 带有参数的 URL new { controller = "Home", action = "Index", id = UrlParameter.Optional }, // 参数默认值 ); }
routes.MapRoute( "Default", // 路由名称 "{controller}/{action}/{id}/{age}/{birthday}", // 带有参数的 URL new { controller = "Home", action = "Index", id = UrlParameter.Optional , age=18 ,birthday=new DateTime(1989,1,1) }, // 参数默认值 ); public ActionResult Index( string id , int age , DateTime birthday) { return View(); }
routes.MapRoute( "Default", // 路由名称 "{controller}/{action}/{id}/{*catchall}", // 带有不定个数的参数的 URL new { controller = "Home", action = "Index", id=UrlParameter.Optional }, // 参数默认值 );
序号 | URL 示例 | 映射结果 |
0 | mydomain.com | controller=home,action=index |
1 | mydomain.com/Customer | controller=Customer,action=index |
2 | mydomain.com/Customer/List | controller=Customer,action=List |
3 | mydomain.com/Customer/List/All | controller=Customer,action=List,id=All |
4 | mydomain.com/Customer/List/All/Delete | controller=Customer,action=List,id=All,catchall=Delete |
5 | mydomain.com/Customer/List/All/Delete/Perm | controller=Customer,action=List,id=All,catchall=Delete/Perm |
routes.MapRoute( "Default", // 路由名称 "{controller}/{action}/{id}", // 带有参数的 URL new { controller = "Home", action = "Index", id = UrlParameter.Optional }, // 参数默认值 new string[] { "MyNamespace.Controllers" } //指定优先命名空间 );
routes.MapRoute( "Default", // 路由名称 "{controller}/{action}/{id}", // 带有参数的 URL new { controller = "Home", action = "Index", id = UrlParameter.Optional }, // 参数默认值 //设置匹配约束 new {controller = "^H.*" , action ="^Index$|^About&" , httpMethod=new HttpMethodConstrain("Get") } , new string[] { "MyNamespace.Controllers" } //指定优先命名空间 );
public class UserConstrain : IRouteConstraint { public bool Match(HttpContextBase httpContext, Route route, string parameterName, RouteValueDictionary values, RouteDirection routeDirection) { return true ; //你可以在这里做具体的操作 } } routes.MapRoute( "Default", // 路由名称 "{controller}/{action}/{id}", // 带有参数的 URL new { controller = "Home", action = "Index", id =UrlParameter.Optional }, // 参数默认值 new {controller = "^H.*" , action ="^Index$|^About&" , httpMethod=new HttpMethodConstrain("Get") , customConstrain= new UserConstrain () } , //设置匹配约束 new string[] { "MyNamespace.Controllers" } //指定优先命名空间 );
public static void RegisterRoutes(RouteCollection routes) { routes.RouteExistingFiles = true; routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); routes.MapRoute( "Default", // 路由名称 "{controller}/{action}/{id}", // 带有参数的 URL new { controller = "Home", action = "Index", id = UrlParameter.Optional }, // 参数默认值 ); }