这些路线可以共存吗?

时间:2011-01-06 21:54:51

标签: asp.net-mvc routing asp.net-mvc-3

任何人都可以告诉我如何(以及最好的方式)路由可以配置为允许以下URL在ASP.Net MVC 3中共存?

/Product/a38e8843-195f-4ee8-b89a-2549b753a307 

映射到ProductController宽度上的索引操作 id = a38e8843-195f-4ee8-b89a-2549b753a307

/MemberShip/LogOn 

映射到MemberShip控制器上的LogOn操作

我想我必须以某种方式根据具体的控制器做一些配置 - 我只是不知道怎么做! :)

1 个答案:

答案 0 :(得分:2)

您应该在默认路由之前添加以下路由:

"Products/{productId}" and "MemeberShip/{action}"

每一个都指向其特定的控制器和动作。

正常创建您的行动:

公共类产品:控制器 { public Action ViewProduct(string productId) { ...

公共类成员:控制器 { 公共行动登录() { ...

在映射路线时,添加两条特定路线: routes.MapRoute(     “ViewProduct”     “产品/ {}的productId”,     new {controller =“Products”,action =“ViewProduct”} ); routes.MapRoute(     “登录”,     “会员/ {动作}”,     新{controller =“会员”} );

如果您使用默认路由,则不需要最后一个路由,因为它位于“控制器/操作”模式上。

在这里你可以找到很多关于MVC的教程,当然,路由: http://www.asp.net/mvc/tutorials/asp-net-mvc-overview-cs