[英]Mapping route & parameters in ASP.NET MVC
在区域VIPUsers中,我有控制器ProfileController和其他控制器。
如果我希望ProfileController中的每个方法都具有参数(id),而其他控制器中的每个方法都具有参数(userid和id),我将如何映射它?
可不可能是
context.MapRoute(
"ProfileMapping",
"VIPUsers/Profile/{action}/{id}",
new {controller="ManageUsers", id=""}
);
然后为所有控制器映射一个默认值?
context.MapRoute(
"Default",
"VIPUsers/{controller}/{action}/{userId}/{id}",
new {action="Index", userId="", id = ""}
);
而且...就是这样吗? 我看到它正在工作,但是很奇怪...
如果我转到ProfileController上的页面,并在{action}
(VIPUsers / Profile / SomeAction / 4/4 /)之后给它两个参数,它将使用第二条映射的路由。 那是对的吗?
谢谢
如果我希望该网址始终需要一个UserId,该如何指定呢?
您看到的行为是正确的。 您将需要实现一些路由约束以进一步缩小范围:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.