现在有这个需求,
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。
求正确代码,谢谢!
Default1放前面
这是一个问题,但我的问题是:
Controller1:
public ActionResult ShowRefusalDetails(string arxm, string zyhm, string groupName = "")
Controller2:
public ActionResult Index(string brxm, string zyhm,string groupName="")
这种路由怎么配 最正确?
@王庆东mas: 最正确不知道.
最简单的是加个前缀之类的.总得有条件给系统.让系统知道怎么区分.
@吴瑞祥: 假如arxm 换成 xxxx 呢? 咋配?
@王庆东mas: 所以说得要在url上加前缀之类的来区分开.
总得在规则上面做文章.
兄弟,你这是mvc5吗?我觉得你可以启用特性路由
举个栗子白
@王庆东mas: 马上开会,你可以先百度一下
你可以启用特性路由
能给下参考链接吗?谢谢