首页 新闻 会员 周边

asp.net mvc路由疑问

0
悬赏园豆:20 [已解决问题] 解决于 2011-09-26 11:40

我对路由有个疑惑的地方,假设我所有后台的操作的地址都是以Admin开头,比如我现在要在后台系统里面显示用户的列表(后台以/admin开头),所以我加了一条路由:

/admin/{controller}/{action}/{id}

这样/admin/user/list/这种url确实可以匹配到usercontroller的list方法,可是同时/user/list这个url能匹配到默认路由,同样能定位到list方法

这种情况应该怎么办呢?或者说有其他更合适的自定义路由的方式么?

问题补充:

谢谢,我最后是为admin的每一种情况都定义了一个路由,看起来是可以了

Lyon.L的主页 Lyon.L | 初学一级 | 园豆:121
提问于:2011-09-19 14:04
< >
分享
最佳答案
0

1:定义所有情况的路由
2:交给一个Action去判断调用相应Action

收获园豆:5
慧☆星 | 大侠五级 |园豆:5640 | 2011-09-19 16:13
其他回答(2)
0

对于后台用admincontroller就可以了吧

收获园豆:10
artwl | 园豆:16736 (专家六级) | 2011-09-19 14:07

后台可能有很多操作,比如用户(User),新闻(News),角色(Role)等等,我是把每个模块放到一个controller里面,难道都放到一个admincontroller里面?

支持(0) 反对(0) Lyon.L | 园豆:121 (初学一级) | 2011-09-19 14:09

@imdingji:

把这些放到admincontroller中是可以的,并且常用的就是把管理部分放到一个controller中,方便权限控制

支持(0) 反对(0) artwl | 园豆:16736 (专家六级) | 2011-09-19 14:15

谢谢!这样一来,admincontroller类不是很长很长?当然这个可以用partial类解决

但是还有个小问题,比如用户的列表和创建,那么就只能是:/Admin/UserList和/Admin/UserCreate,分别映射到AdminController中的UserList和UserCreate方法,有没有可能变成/Admin/User/List和/Admin/User/Create呢?

支持(0) 反对(0) Lyon.L | 园豆:121 (初学一级) | 2011-09-19 15:13

@imdingji:

再用地址重写是可以的,但这样做的意义不大

还有,你可以把User做为action,后面的(List、Create)做为参数,这样可以用/Admin/User/List、/Admin/User/Create

支持(0) 反对(0) artwl | 园豆:16736 (专家六级) | 2011-09-19 15:21
0

你添加了几个路由列表啊?

另外可以先不路由参数的设置默认填充值去Debug下看看问题为好

---------

以/admin/开头 可以用Area了

 

还有路由表它有一个搜索顺序的.定义靠前的路由表会被先匹配.

具体可以看看

http://www.cnblogs.com/highend/archive/2011/07/27/aspnet_mvc3_route.html

收获园豆:5
dotNetDR_ | 园豆:2078 (老鸟四级) | 2011-09-20 20:23
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册