【发布时间】:2011-03-10 13:57:07
【问题描述】:
如何配置 ASP.NET MVC 3 路由,使其不需要 url 中的控制器和操作?
我有这个来显示项目“abc123”的详细信息,配置了默认路由设置:
mysite.com/Home/Details/abc123
值“abc123”是 Home 控制器用于在数据库中查找正确项目的唯一值。
但我更喜欢这些超短网址:
mysite.com/abc123
该站点还将有很少的附加控制器,例如“关于”和“联系方式”。我假设我也必须专门配置这些,因此默认控制器不会开始寻找 ID 为“关于”或“联系”的项目的详细信息。我该怎么做?
更新:
这是我的路线最终的样子:
routes.MapRoute("About", "About", New With {.controller = "About", .action = "Index"})
routes.MapRoute("ID", "{id}", New With {.controller = "Home", .action = "Details"})
routes.MapRoute("Default", "", New With {.controller = "Home", .action = "Index"})
:)
【问题讨论】:
标签: c# .net asp.net-mvc-3 asp.net-mvc-routing