使用AspNetPager控件多个参数Url重写功能问题

AspNetPager控件设置简单方便,性能也可以,经常使用AspNetPager来分页,本次使用AspNetPager重写多个参数时,按照控件上的说明

设置URL的重写格式,老是没有传值成功,最后仔细看了AspNetPager控件源码里的帮助文档,才发现除Page以外的参数,设置格式:%参数名%,必须要和原始Url的参数名相同,控件上没特别说明,我正是忽略这点,发了很多时间调试。
再拿个简单的例子说明下:
原始Url:http://www.xxx.com/articlelist.aspx?type=aspnet&page=2
重写Url:http://www.xxx.com/articlelist/aspnet_2.htm
 
下面是aspx页面设置:
 
<webdiyer:AspNetPager ID="AspNetPager1" runat="server" AlwaysShow="true" 
                PageSize="20" onpagechanging="AspNetPager1_PageChanging" FirstPageText="首页" 
                LastPageText="尾页" NextPageText="下一页" PrevPageText="上一页" UrlPaging="True"
                ShowFirstLast="False" ShowPageIndexBox="Never"  EnableUrlRewriting="True" UrlRewritePattern="/articlelist/%type%_{0}.htm" ></webdiyer:AspNetPager>
 
要注意的是:UrlRewritePattern="/articlelist/%type%_{0}.htm" 规则中的%type%就是原始Url中的参数名type,设置相同即可。

 

aspnetpager多参数URL重写在webconfig中, "&"这个字符的问题,&amp;转义失败:

这里用的是msdn里头的UrlRewriter.dll组件。

在webconfig中, "&"这个字符的问题,&amp;转义失败;

取代方法: <![CDATA[YourUrlRewritePattern]]>

<RewriterRule>
        <LookFor>~/(\d{0,10})/exparticlelist-(\d{0,10}).aspx</LookFor>
        <SendTo> <![CDATA[~/exparticlelist.aspx?expid=$1&page=$2]]> </SendTo>
  </RewriterRule>

转载于:https://www.cnblogs.com/greatwang/archive/2013/01/05/3292542.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值