asp.net url重写

        前段时间看到一个网站的连接是这个样子的 ...../C_181.aspx 。下意识的认为着一定是url重写。但是具体怎么实现不知道哦。于是去google了下 url重写 找到很多,不过大多都是使用下载ms的URLRewrite.dll,我看了几个人的blog后没有明白。

        具体的说就是没又明白怎么把 比如show.aspx?id=10转换成 show_10.aspx,今天突然想到我做新闻列表的时候绑定新闻链接的时候都是这样做的

  1. <asp:TemplateField HeaderText="Title">
  2.      <ItemTemplate>
  3.           <a href="show.aspx?id=<%# Eval("ID")%>"><%# Eval("Title")%></a>
  4.      </ItemTemplate>
  5. </asp:TemplateField>

于是想到 我当然可以如下这么做了。。

    1. <asp:TemplateField HeaderText="Title">
    2.      <ItemTemplate>
    3.           <a href="show_<%# Eval("ID")%>aspx"><%# Eval("Title")%></a>
    4.      </ItemTemplate>
    5. </asp:TemplateField>

 

这样 就可以 把url转化为 show_$.aspx的形式了。。那么下面要做的就是url重写了。。。

 

1.下载ms的URLRewrite.dll,放到你的bin下

2.在web.config里设置如下:

  1.   <configSections>
  2.     <section name="RewriterConfig" type="URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter" />
  3. </configSections>
  4. <RewriterConfig>
  5.     <Rules>
  6.         <RewriterRule>
  7.             <LookFor>~/show_(/d+)/.aspx</LookFor>
  8.             <SendTo>~/show.aspx?id=$1</SendTo>
  9.         </RewriterRule>
  10.     </Rules>
  11. </RewriterConfig>
  12. <system.web>
  13. <httpHandlers>
  14.             <add verb="*" path="*.aspx" type="URLRewriter.RewriterFactoryHandler, URLRewriter" />
  15.         </httpHandlers>
  16.     </system.web>

最后一部就是在show.aspx的cs页面处理了。。。这样就算完成了url重写。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值