zoukankan      html  css  js  c++  java
  • .net Url重写

    详细说明及下载dll源码路径:

    http://msdn.microsoft.com/zh-cn/library/ms972974.aspx

     顺带上本人写的一个小例子:http://files.cnblogs.com/xuxu-dragon/Url%E9%87%8D%E5%86%99UrlRewrite.rar

    一、

    项目中引用ActionlessForm.dll和URLRewriter.dll。

    二、

    打开web.config,在configSecions中添加节点:

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

    三、

    添加规则

      
     <RewriterConfig>
      <Rules>
       <!-- Rules for Blog Content Displayer -->
       <RewriterRule>
        <LookFor>~/VmHotel/(w+).aspx</LookFor>
        <SendTo>~/Hotel/$1.aspx</SendTo>
       </RewriterRule>
       <RewriterRule>
        <LookFor>~/TravelAgency/(w+).aspx</LookFor>
        <SendTo>~/travel/TravelAgency/$1.aspx</SendTo>
       </RewriterRule>
       <!-- Rules for Product Lister -->
      </Rules>
     </RewriterConfig>

    此处使用了正则“~/VmHotel/(w+).aspx”,表示访问网站主目录VmHotel里面的所有aspx页面。"(w+)"代表了匹配了一个或多个字母或数字或下划线或汉字。"$1.aspx"中的“$1”就是指的"(w+)"。

    四、在<httpModules>节点下添加如下节点

     <httpModules>
       <add type="URLRewriter.ModuleRewriter, URLRewriter" name="ModuleRewriter"/>
      </httpModules>

    五、如果页面需要回传,则要添加如下改动。

    在aspx网页的代码中加<%@ Register TagPrefix="RW" Namespace="ActionlessForm" Assembly="ActionlessForm" %>,然后将form标签改为RW:Form(注意开始和结束都要改),TagPrefix可以自定义。参考项目例子中的Hotel/Edit.aspx

    ok完成

     查看最终效果:可以看到浏览器地址栏里显示的是http://localhost:2727/TravelAgency/Add.aspx?type=1,而在而Add.aspx文件在项目中的真实的结构却是travel/TravelAgency/Add.aspx。

    网上也有现成的说明例子。

    http://weijie.blog.51cto.com/340746/89603/

  • 相关阅读:
    四则运算1
    四则运算3
    数组1
    四则运算单元测试
    四则运算2
    数组3
    数组2
    spring aop对service层日志和异常的处理
    Linux设置开机启动
    数据仓库开发——Kettle使用示例
  • 原文地址:https://www.cnblogs.com/xuxu-dragon/p/4002194.html
Copyright © 2011-2022 走看看