首页 新闻 会员 周边

MVC路由问题请教高手

0
悬赏园豆:5 [已解决问题] 解决于 2017-08-29 18:01

现在有这个需求,

Controller1:

  public ActionResult ShowRefusalDetails(string brxm, string zyhm, string groupName = "")

Controller2:

   public ActionResult Index(string brxm, string zyhm,string groupName="")

需要注册路由实现路由访问,已经写好了。

 public static void RegisterRoutes(RouteCollection routes)
        {
            routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 
            routes.MapRoute(
                name: "Default",
                url: "{controller}/{action}",
                defaults: new { controller = "SMSService", action = "Index" }
            );


            routes.MapRoute(
               name: "Default1",
               url: "{controller}/{action}/{brxm}/{zyhm}/{groupName}",
               defaults: new { groupName = UrlParameter.Optional }
           );
   //上面这个模板,可以正常匹配到 2个不同 控制器的不同action,但前提 2个action参数必须一致,同名同数目。
          
        }

问题来了,现在Controller1的第一个参数名字要改,改成 brxm666,那么 路由模板怎么修改?才能正常访问这2个action。

求正确代码,谢谢!

王庆东mas的主页 王庆东mas | 初学一级 | 园豆:4
提问于:2017-07-16 22:19
< >
分享
最佳答案
0

Default1放前面

收获园豆:3
吴瑞祥 | 高人七级 |园豆:29449 | 2017-07-16 22:45

  这是一个问题,但我的问题是:

Controller1:

  public ActionResult ShowRefusalDetails(string arxm, string zyhm, string groupName = "")

Controller2:

   public ActionResult Index(string brxm, string zyhm,string groupName="")

这种路由怎么配 最正确?

王庆东mas | 园豆:4 (初学一级) | 2017-07-16 22:48

@王庆东mas: 最正确不知道.

最简单的是加个前缀之类的.总得有条件给系统.让系统知道怎么区分.

吴瑞祥 | 园豆:29449 (高人七级) | 2017-07-16 23:19

@吴瑞祥: 假如arxm 换成 xxxx 呢? 咋配?

王庆东mas | 园豆:4 (初学一级) | 2017-07-17 15:35

@王庆东mas: 所以说得要在url上加前缀之类的来区分开.

总得在规则上面做文章.

吴瑞祥 | 园豆:29449 (高人七级) | 2017-07-17 15:37
其他回答(2)
0

兄弟,你这是mvc5吗?我觉得你可以启用特性路由

收获园豆:2
MrNice | 园豆:3450 (老鸟四级) | 2017-07-17 12:28

  举个栗子白

支持(0) 反对(0) 王庆东mas | 园豆:4 (初学一级) | 2017-07-17 15:34

@王庆东mas: 马上开会,你可以先百度一下

支持(0) 反对(0) MrNice | 园豆:3450 (老鸟四级) | 2017-07-17 15:40
1

你可以启用特性路由

fcyh | 园豆:568 (小虾三级) | 2017-07-21 21:20

能给下参考链接吗?谢谢

支持(0) 反对(0) 王庆东mas | 园豆:4 (初学一级) | 2017-08-01 15:14
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册