【发布时间】:2013-09-18 12:39:37
【问题描述】:
我在控制器中有一个动作,例如:
public ActionResult Index(string ssn)
{
}
和默认路由值:{controller}/{action}/{id}
我不想使用像/Home/Index?ssn=1234 这样的网址。我想像/Home/Index/1234 这样使用。
但我也不想为 ssn 参数(或自定义模型绑定器)添加新的路由值。
是否有一些完整的属性,例如[ActionName],但用于参数?
类似这样的:
public ActionResult Index([ParameterBinding("id")] string ssn)
{
}
【问题讨论】:
-
没有这样的内置属性。为此需要自定义模型绑定器或新的路由条目。
-
我想知道,你为什么不想添加一条新路线?如果你做得对,它不会与现有的混乱,如果那是你害怕的。
-
'因为我有超过 10 个具有相同签名的操作。我不想为每个操作添加自定义路由(ssn、电子邮件、用户名等)。
标签: asp.net-mvc