AspNetPager7.2和urlrewritingnet用法(带多参数传递和分页存储过程)
AspNetPager7.2用法
1. 下载AspNetPager7.2(本文后面有链接)
2. 引用AspNetPager.dll文件
3. 在.aspx页面中引用,代码:
<%@ Register Assembly="AspNetPager" Namespace="Wuqi.Webdiyer" TagPrefix="webdiyer" %>
4. 在需要使用的地方加上对应的代码:
<webdiyer:AspNetPager ID="anpTopPager" runat="server" CssClass="anpager" CurrentPageButtonClass="cpb" AlwaysShow="true" PageIndexBoxType="DropDownList"ShowPageIndexBox="Always" UrlPageSizeName="pageSize" UrlPageIndexName="pageIndex" ShowNavigationToolTip="True" PageSize="25" OnPageChanged="anpTopPager_PageChanged" UrlPaging="True" EnableUrlRewriting="True" UrlRewritePattern="~/InformationList_%itId%_{0}.htm"> </webdiyer:AspNetPager>
以上的具体的设置在下载的demo中有相应的实例,这里就不多说了。具体说一下在使用多参数传递时要用的设置,主要要设置的是UrlPaging=”true”(是否使用url进行传参),UrlPageIndexName=”pageIndex”(使用url传参时使用的参数名称,比如:information.aspx?pageindex=2,其中pageindex就是这个参数名称,这个参数是在进行翻页的时候自动加上的,不用手动去设置),EnableUrlRewriting=”true”(设置是否将翻页使用url重写功能,当然如果要使用这个功能就要涉及到在web.config进行的对应urlrewritingnet的配置,如果只是单独使用没有别的参数的话在下载包中的demo中的UrlRewriting这个文件夹中有详细的介绍),UrlRewritePattern=”~/InformationLIst_%itId%_{0}.htm”(这个参数是配置参数重写的表达式,这里需要对应web.config中的配置进行说明)。在web.config中的配置代码:
<add name="InformationList" virtualUrl="^~/InformationList_(/d+)_(/d+).htm" rewriteUrlParameter="ExcludeFromClientQueryString" destinationUrl="~/InformationList.aspx?itId=$1&pageIndex=$2" ignoreCase="true" />
这里讲AspNetPager控件中的属性UrlRewritePattern="~/InformationLIst_%itId%_{0}.htm"和其进行对照,可以发现,%itId%代表web.config中配置的属性destinationUrl="~/InformationList.aspx?itId=$1&pageIndex=$2"中的itId,那么最后的{0}就代表了pageIndex=$2,这样来看看web.config配置中的属性virtualUrl="^~/InformationList_(/d+)_(/d+).htm,这个就是表示在访问这个页面的时候使用information_2_1.htm便可以进行访问了,当点击下面的翻页控件的时候最后的1会对应页数进行改变,比如第二页表示为:information_2_2.htm。注意:这里的&就相当于在平时进行多参数传递时使用的&符号,如果这里直接使用&会出现错误,所以使用转义字符替代。
urlrewritingnet用法
1. 下载urlrewiringnet(本文后面有链接)
2. 添加UrlRewritingNet.UrlRewriter.dll引用
3. <configSections>中添加<section name="urlrewritingnet" requirePermission="false" type="UrlRewritingNet.Configuration.UrlRewriteSection, UrlRewritingNet.UrlRewriter" />
4. <httpModules>中添加<add name="UrlRewriteModule" type="UrlRewritingNet.Web.UrlRewriteModule, UrlRewritingNet.UrlRewriter" />
5. 设置对应的重写设置,代码:
<urlrewritingnet rewriteOnlyVirtualUrls="true" contextItemsPrefix="QueryString" defaultPage="" defaultProvider="RegEx" xmlns="http://www.urlrewriting.net/schemas/config/2006/07">
<rewrites>
<!-- 文章信息详细页面1 -->
<add name="InformationInfo" virtualUrl="^~/InformationInfo_(/d+).htm" rewriteUrlParameter="ExcludeFromClientQueryString" destinationUrl="~/InformationInfo.aspx?iId=$1" ignoreCase="true" />
其中virtualUrl属性为重写后的设置,destinationUrl属性是重写对应的真实url。至于别的设置可以上网再搜索一下“UrlRewritingNet中文文档”,这里就不多说了。本人在项目中就只使用到了上面的配置。
注:本人在项目中重写后的后缀均为.htm,因为在项目中还有别的真正的静态页面.html,这样可以将两者区分开来,不然到发布到iis中的时候会出现冲突。当然这里的虚拟后缀需要在发布的时候在iis中进行设置,本人用的是vs2008,不需要设置便可以运行。
6. IIS中进行配置:
IIS配置:网站->属性->目录->配置(G)...->映射->应用程序扩展->添加
可执行文件:c:/windows/microsoft.net/framework/v2.0.50727/aspnet_isapi.dll
扩展名:.htm
动作:限制为 GET,HEAD,POST,DEBUG
脚本引擎:选中
确认文件是否存在:不选
分页存储过程(本文后面有链接)
Aspnetpager和urlrewritingnet相关资源下载(带存储过程)地址: