首页 新闻 会员 周边 捐助

asp.net Mvc 取消路由自动填充

0
悬赏园豆:50 [已关闭问题] 关闭于 2012-02-07 09:01

<route name="TimeList" url="stage/list/{categID}/{propID}/{page}/{psize}" controller="Home" action="TimeList" >
<parameters>
<add name="categID" value="0" constraint="\d{1,10}" />
<add name="propID" value="0" constraint="\d{1,10}" />
<add name="page" value="1" constraint="\d{1,10}" />
<add name="psize" value="10" constraint="\d{1,10}" />
</parameters>
</route>
<route name="Article" url="article/{id}/{page}" controller="Home" action="Article" >
<parameters>
<add name="id" value="0" constraint="\d{1,10}" />
<add name="page" value="1" constraint="\d{1,10}" />
</parameters>
</route>
这两个路由因为参数page相同,当地址栏中有相同参数时如stage/list/1/2/3/4
那么Url.Action("Article",new {id=1}) 会自动生成 article/1/3 这样的地址,后面的page页面3是自动填充,我不想让它这样做。
问题:除了把相同意义这样的参数名改为不同的名称外,还有什么好方法?

慧☆星的主页 慧☆星 | 大侠五级 | 园豆:5722
提问于:2011-09-08 09:07
< >
分享
所有回答(2)
0

最简单的做法就是显示地给page赋值,这样就不会自动填充了

artwl | 园豆:16736 (专家六级) | 2011-09-08 09:25

但是显示填充的这参数也显示出来了

支持(0) 反对(0) 慧☆星 | 园豆:5722 (大侠五级) | 2011-09-08 10:08
0

<route name="Article" url="article/{id}/{page}" controller="Home" action="Article" >
<parameters>
<add name="id" value="0" constraint="\d{1,10}" />
<add name="page" value="1" constraint="\d{1,10}" />
</parameters>
</route>
<route name="TimeList" url="stage/list/{categID}/{propID}/{page}/{psize}" controller="Home" action="TimeList" >
<parameters>
<add name="categID" value="0" constraint="\d{1,10}" />
<add name="propID" value="0" constraint="\d{1,10}" />
<add name="page" value="1" constraint="\d{1,10}" />
<add name="psize" value="10" constraint="\d{1,10}" />
</parameters>
</route>

你好,

可以尝试把Article路由放在TimeList前面看看有没有起作用.~实在不行我在去翻在Web.config内配置路由的语法及注意事项做个Demo给你看看.

dotNetDR_ | 园豆:2078 (老鸟四级) | 2011-09-08 15:37

或者在TimeList的路由内把{page}, {psize} 这两个参数不要给value看看

<route name="TimeList" url="stage/list/{categID}/{propID}/{page}/{psize}" controller="Home" action="TimeList" >
<parameters>
<add name="categID" value="0" constraint="\d{1,10}" />
<add name="propID" value="0" constraint="\d{1,10}" />
<add name="page" constraint="\d{1,10}" />
<add name="psize" constraint="\d{1,10}" />
</parameters>
</route>

目前不太确定这个用法会被运行时通过!

支持(0) 反对(0) dotNetDR_ | 园豆:2078 (老鸟四级) | 2011-09-08 15:39

@dotNetDR_:会报错的

支持(0) 反对(0) 慧☆星 | 园豆:5722 (大侠五级) | 2011-09-14 08:52
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册