2010-01-19 123 views
1

我想我的网址结构是这样的:路由器可以添加控制器名称吗?与URL和控制器的名称冲突问题

www.stackoverflow.com/order/... 

www.stackoverflow.com/admin/order/... 

现在,这两个以上使用不同的控制器。

/controllers/ordercontroller 
/controllers/admin/ordercontroller 

有没有一种方法,我可以有这个网址结构?

我在想,如果我能做到这一点:

/controllers/ordercontroller 
/controllers/admin/adminordercontroller 

而且,最后在我的路线,前面加上“管理员”所有管理相关的控制器的名字吗?

回答

2

好的,没问题。请记住,您也可以在路线中使用静态文本。

routes.MapRoute("admin", "admin/{controller}/{action}/{id}", .... 

routes.MapRoute("normal", "{controller}/{action}/{id}", ... 

这里的关键是要确保管理员航线是第一,所以它在匹配URL第一次破裂。否则,“正常”路线将吞噬它,因为它也匹配。

+0

但是管理员相关网址的命名又如何?我希望他们就像/ admin/order /和have/order /在同一时间。我怎样才能做到这一点? – Blankman 2010-01-19 19:07:26

相关问题