首页 新闻 会员 周边 捐助

mvc 路由问题

0
悬赏园豆:20 [已解决问题] 解决于 2015-07-15 16:58

路由配置:

context.MapRoute(
"Mobile_pnprank",
"mobile/experience/pnprank/{wxcfg}",
new { controller = "experience", action = "pnprank", wxcfg = UrlParameter.Optional }
);

context.MapRoute(

"Mobile_AboutUs",

"mobile/experience/aboutus/{wxcfg}",
new { controller = "experience", action = "aboutus", wxcfg = UrlParameter.Optional }
);

上面是两个路由配置。

还有一个路由和上面的路由是一样的,我在这个路由上加了{wxcfg}的值,

但是下面地址怎么都出现了值。为什么?

我想要他们都是没有参数的如:/mobile/experience/pnprank

 

/mobile/experience/pnprank/989aff6c-9b43-4909-a7eb-72da044930a3

/mobile/experience/aboutus/989aff6c-9b43-4909-a7eb-72da044930a3

不会代码的人的主页 不会代码的人 | 初学一级 | 园豆:20
提问于:2015-01-15 21:19
< >
分享
最佳答案
0

我想出现了值和你的路由规则没有关系哇,看你的页面代码怎么写的呢。。

收获园豆:10
幻天芒 | 高人七级 |园豆:37205 | 2015-01-16 08:55

前台页面都是这样写的@Url.Action("cover", "home")

不会代码的人 | 园豆:20 (初学一级) | 2015-01-16 09:31

@不会代码的人: 这样的路由,压根就不会生成你贴的url地址哇,你检查下后台代码,是不是自己做了二次跳转。

幻天芒 | 园豆:37205 (高人七级) | 2015-01-16 09:35

@幻天芒: 有做二次跳转

1.判断当前url后的{wxcfg}是否有值,如果没有就加上,加上后在跳转到当前加值的Url。
结果就是我上面描述的了

不会代码的人 | 园豆:20 (初学一级) | 2015-01-16 09:40

@不会代码的人: wxcfg = UrlParameter.Optional 你设置的是可选参数,所以如果没传就是没值。

幻天芒 | 园豆:37205 (高人七级) | 2015-01-16 09:56
其他回答(2)
0

把这2条路由规则放到其它路由规则之前,包括默认路由规则。

收获园豆:5
dudu | 园豆:30939 (高人七级) | 2015-01-15 21:38

这样是不行的。前台是用@Url.Action("cover", "home")调用的,是不是里面的机制把值赋值进去了

支持(0) 反对(0) 不会代码的人 | 园豆:20 (初学一级) | 2015-01-15 22:14
0

你这两个 URL 是怎么调用出来的?

收获园豆:5
mushishi | 园豆:430 (菜鸟二级) | 2015-01-18 13:36
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册