一.导入ActionlessForm.dll 和URLRewriter.dll
二.webconfig中设置
1.配置RewriterConfig节点:
<section name="RewriterConfig" type="URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter"/>
2.在<httpModules>节点中添加:
<add type="URLRewriter.ModuleRewriter, URLRewriter" name="ModuleRewriter"/>
3.书写url重写规则:
<RewriterConfig>
<Rules>
<RewriterRule>
<LookFor>~/Index</LookFor>
<SendTo>~/Default.aspx</SendTo>
</RewriterRule>
<RewriterRule>
<LookFor>~/Pro_Page_(/d+)_(/d+)</LookFor>
<SendTo>~/Products.aspx?proTypeId=$1&page=$2</SendTo>
</RewriterRule>
</Rules>
</RewriterConfig>
其中LookFor表示页面访问的地址,SendTo表示将url重写后访问的实际地址,(/d+)表示传递的参数,$1,$2等同于上面的(/d+) (/d+)
若访问的地址是http://xxx/Pro_Page_1_2则相当于http://xxx/Products.aspx?proTypeId=1&page=2
三.使用aspnetpager分页并启用urlrewrite功能
1.添加属性:EnableUrlRewriting="true" UrlRewritePattern="Pro_Page_%proTypeId%_{0}"
其中,%proTypeId%表示分页时除了页码(page)以外的参数(可以启用urlPaging="true",查看地址栏参数即可看见),
{0},表示页码,此规则"Pro_Page_%proTypeId%_{0}"符合<LookFor>~/Pro_Page_(/d+)_(/d+)</LookFor>,即实现了分页时的urlrewrite