Asp.net mvc 配置处理/控制器/操作/0000-00000-0000的路由
如何配置路由以允许以下语法:Asp.net mvc 配置处理/控制器/操作/0000-00000-0000的路由,asp.net-mvc,Asp.net Mvc,如何配置路由以允许以下语法: /ControllerName/ActionName/0000-00000-0000-0000 routes.MapRoute( "MoveToTab", "{controller}/{action}/{value}", new { controller = "ControllerName", action = "ActionName", value = System.Guid.Empty } ); 最后一部分在哪里 p
/ControllerName/ActionName/0000-00000-0000-0000
routes.MapRoute(
"MoveToTab",
"{controller}/{action}/{value}",
new { controller = "ControllerName", action = "ActionName",
value = System.Guid.Empty }
);
最后一部分在哪里
public ActionResult ActionName(Guid value){}
这里有一个自定义路由定义。最后一个参数是正则表达式形式的路由约束,它需要
value
来匹配Guid格式
routes.MapRoute(
"YourRouteName",
"{controller}/{action}/{value}",
new { controller = "ControllerName", action = "ActionName" },
new { value = @"^(\{{0,1}([0-9a-fA-F]){8}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-([0-9a-fA-F]){12}\}{0,1})$" }
);
这里有一个自定义路由定义。最后一个参数是正则表达式形式的路由约束,它需要
value
来匹配Guid格式
routes.MapRoute(
"YourRouteName",
"{controller}/{action}/{value}",
new { controller = "ControllerName", action = "ActionName" },
new { value = @"^(\{{0,1}([0-9a-fA-F]){8}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-([0-9a-fA-F]){12}\}{0,1})$" }
);
您需要添加一些新的路由。您将需要执行以下操作:
/ControllerName/ActionName/0000-00000-0000-0000
routes.MapRoute(
"MoveToTab",
"{controller}/{action}/{value}",
new { controller = "ControllerName", action = "ActionName",
value = System.Guid.Empty }
);
在这里,
ControllerName
和ActionName
将是这些部分的默认值。您需要添加一些新路由。您将需要执行以下操作:
/ControllerName/ActionName/0000-00000-0000-0000
routes.MapRoute(
"MoveToTab",
"{controller}/{action}/{value}",
new { controller = "ControllerName", action = "ActionName",
value = System.Guid.Empty }
);
这里的
ControllerName
和ActionName
将是这些部分的默认值。查看这篇有解决方案的文章:查看这篇有解决方案的文章:这里是我获取Guid的地方regex:我们需要自定义路由来获取Guid作为参数吗?我不这么认为。你能看看我的答案吗。这里是我得到Guid的地方正则表达式:我们需要一个自定义路由来获取Guid作为参数吗?我不这么认为。你能看看我的答案吗。