Joh*_*ohn 2 asp.net-mvc routes
在ASP.Net MVC中,我想要两条不同的路线:
和
在类Foo中,我有两个返回ActionResult的方法
public ActionResult DetailsById(int id)
{
. . . some code
}
Run Code Online (Sandbox Code Playgroud)
和
public ActionResult DetailsByName(string name)
{
. . . some code
}
Run Code Online (Sandbox Code Playgroud)
如何设置2个路由,以便如果参数是int,它将转到DetailsById,否则转到DetailsByName?
Lau*_*tin 12
您可以对第一条路线使用路线约束.
routes.MapRoute("DetailsById",
"foo/{id}",
new { controller = "foo", action = "DetailsById" },
new { id = @"\d+" } // Parameter constraints
);
routes.MapRoute("DetailsByName",
"foo/{id}",
new { controller = "foo", action = "DetailsByName" }
);
Run Code Online (Sandbox Code Playgroud)
第一个路由只接受与正则表达式匹配的id(仅接受数字).如果它与第一条路线不匹配,它将转到第二条路线.
| 归档时间: |
|
| 查看次数: |
1578 次 |
| 最近记录: |