繁体   English   中英

在ASP.NET MVC中映射路由和参数

[英]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,该如何指定呢?

您看到的行为是正确的。 您将需要实现一些路由约束以进一步缩小范围:

http://www.asp.net/learn/mvc/tutorial-24-cs.aspx

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM