您的位置:首页 > 编程语言 > ASP

URLRewrite伪静态与AspNetPager分页控件的结合

2012-10-16 14:51 337 查看
URLRewrite伪静态后AspNetPager分页控件列表输出的静态化方法

首先设置WEB.CONFIG

<RewriterRule>

<LookFor>~/article_list_(\d{1,6})_(\d{1,6})\.htm</LookFor>

<SendTo>~/article_list.aspx?classid=$1&page=$2</SendTo>

</RewriterRule>

注:第一个参数是类别ID,第二个参数是分页数字(第几页)!

再者在 在AspNetPager前台注册的时候一定要写UrlPaging="true"

<%@ Register assembly="AspNetPager" namespace="Wuqi.Webdiyer" tagprefix="webdiyer" %>

<webdiyer:AspNetPager ID="AspNetPager1" runat="server" AlwaysShow="true"

FirstPageText="首页" NextPageText="下一页" PrevPageText="前一页" LastPageText="尾页"

PageSize="20" ShowInputBox="Always" CustomInfoHTML="共%PageCount%页,当前为第%CurrentPageIndex%页,每页%PageSize%条"

onpagechanged="AspNetPager1_PageChanged" UrlPaging="true">

</webdiyer:AspNetPager>

最后在CS文件中对ASPNETPAGER控件输出URL进行控制

this.AspNetPager1.EnableUrlRewriting = true;

this.AspNetPager1.UrlRewritePattern = "Article_list_" + classid.ToString() + "_{0}.html";

其中classid.ToString()为分类ID 、{0}为页数

只要这三点都做到了!分页应该都是可以实现的! 如果实现不了! 我估计是程序问题! 呵呵!

分页的时候我们也希望url是伪静态的,那么如下操作就ok了

前台显示页面: 其中 EnableUrlRewriting="true" UrlRewritePattern="~/ck_chanpin_{0}.html" 这句非常重要

<webdiyer:AspNetPager ID="myAspNetPager" runat="server" AlwaysShow="false" CustomInfoHTML="共%PageCount%页,当前为第%CurrentPageIndex%页,每页%PageSize%条"

Font-Size="12px" HorizontalAlign="center" OnPageChanged="myAspNetPager_OnPageChanged" ShowCustomInfoSection="Right" Width="100%"

CssClass="neirong-1" FirstPageText="首 页" LastPageText="末 页" NextPageText="下一页" PrevPageText="上一页"

PageSize="10"

EnableUrlRewriting="true"

UrlRewritePattern="~/ck_chanpin_{0}.html"

>

Web.config:

<!-- 开始 -->

<configSections>

<section name="RewriterConfig" type="URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter" />

</configSections>

<RewriterConfig>

<Rules>

<RewriterRule>

<LookFor>~/ck_chanpin_(\d+).html</LookFor>

<SendTo>~/ck_chanpin.aspx?page=$1</SendTo>

</RewriterRule>

</Rules>

</RewriterConfig>

<!-- 结束 -->

<system.web>

<httpHandlers>

<add path="WebResource.axd" verb="GET" type="System.Web.Handlers.AssemblyResourceLoader" validate="True" />

<add verb="*" path="*.aspx" type="URLRewriter.RewriterFactoryHandler, URLRewriter" />

<add verb="*" path="*.html" type="URLRewriter.RewriterFactoryHandler, URLRewriter" />

</httpHandlers>

</system.web>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: