【发布时间】:2010-01-28 12:50:40
【问题描述】:
我的 ASP.NET MVC 应用程序中有两种(到目前为止)不同类型的路由,一种是:{controller}/{action}/{id},另一种是 {controller}/{action}/{标题}
目前我需要像这样定义路由:
routes.MapRoute (
"Default_Title_Slug", // Route name
"product/details/{title}", // URL with parameters
new { controller = "product", action = "details", title = "" } // Parameter defaults
);
routes.MapRoute (
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "site", action = "index", id = "" } // Parameter defaults
);
请注意,我必须将第一个绑定到产品控制器,这似乎是我可以让它工作的唯一方法......否则其他路线最终看起来像这样:
/controller/action?id=number
现在我需要添加另一个 MapRoute 调用,该调用针对具有 {title} 段的另一个控制器...我不想为将来提出的每个特定条目创建新路由...有没有我可以创建通用路由来映射 /controller/action/title 可以很好地与 /controller/action/id 路由配合使用吗?
谢谢,
基隆
【问题讨论】:
-
请停止回滚添加正确标签的更改
-
它已经在 asp.net 下被标记,实际上路由是特定于 asp.net 的。停止添加无意义的标签。
-
重新标记;路由比 MVC 更广泛(它也可以与 webforms 一起使用),很少有人会关注这样一个 granalur 标签 - 两者都值得拥有。
标签: asp.net-mvc asp.net-mvc-routing