.NET重写URL方法谈
创始人
2024-06-08 16:40:18
0

对于.NET重写URL,也就是Rewriter URL相信大家都不太陌生。在这里我们要介绍的也是.NET重写URL方法,希望能为大家打开新的思路。

最近小项目要求重写url找了下资料用到了MS的2个dll,微软的例子写得太不明显了。后来终于改好了。

ActionlessForm.dll------用来处理回发

URLRewriter.dll----- 是微软封装好了的一个URL重写组件

添加引用----

具体的使用说明请去看

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

比我说得好得多。。

具体使用方法:

首先web.config的配置:

  1.  version="1.0"?> 
  2.  
  3.    
  4.      name="RewriterConfig" type="URLRewriter.Config.RewriterConfigSerializerSectionHandler,  
  5.  URLRewriter" /> 
  6.    
  7.      
  8.          
  9.              
  10.                 ~/ListCategories\.aspx 
  11.                 ~/Default.aspx 
  12.              
  13.              
  14.                 ~/(\d+)\.html 
  15.                 ~/Cover.aspx?id=$1 
  16.              
  17.          
  18.      
  19.      
  20.          
  21.              type="URLRewriter.ModuleRewriter, URLRewriter" name="ModuleRewriter"/> 
  22.          
  23.          debug="true"/> 
  24.  
  25.  

主要配置的代码是这些。其他的根据自己的需要和.net的版本自行添加。

然后Default.aspx,Cover.aspx,新建2个页面

Default.aspx:

  1. <%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %> 
  2.  
  3. > 
  4.  
  5.  xmlns="http://www.w3.org/1999/xhtml"> 
  6.  runat="server"> 
  7.     </FONT></STRONG>无标题页<STRONG><FONT color=#006699> 
  8.  
  9.  
  10.      id="form1" runat="server"> 
  11.     
     
  12.      href="ListCategories.aspx">ListCategories.aspx 
  13.      href="30.html">30.html 
  14.     
 
  •      
  •  
  •  
  • Cover.aspx:

    1. <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Cover.aspx.cs" Inherits="Cover" %> 
    2. <%@ Register TagPrefix="skm" Namespace="ActionlessForm" Assembly="ActionlessForm" %> 
    3.  
    4. > 
    5.  
    6.  xmlns="http://www.w3.org/1999/xhtml"> 
    7.  runat="server"> 
    8.     </FONT></STRONG>Cover<STRONG><FONT color=#006699> 
    9.  
    10.  
    11.      id="form1" runat="server"> 
    12.     
       
    13.     Cover页面  
    14.     

       href="javascript:void(0)" onclick="history.go(-1)">返回上一页

       
    15.          ID="Button1" runat="server" Text="Button" /> 
    16.     
     
  •      
  •  
  •  
  • Cover.aspx.cs:

    1. using System;  
    2. using System.Collections;  
    3. using System.Configuration;  
    4. using System.Data;  
    5. using System.Linq;  
    6. using System.Web;  
    7. using System.Web.Security;  
    8. using System.Web.UI;  
    9. using System.Web.UI.HtmlControls;  
    10. using System.Web.UI.WebControls;  
    11. using System.Web.UI.WebControls.WebParts;  
    12. using System.Xml.Linq;  
    13.  
    14. public partial class Cover : System.Web.UI.Page  
    15. {  
    16.     protected void Page_Load(object sender, EventArgs e)  
    17.     {  
    18.         if (Request.QueryString["id"] == null)  
    19.         {  
    20.             Response.End();  
    21.         }  
    22.         else  
    23.         {  
    24.             int id = Convert.ToInt32(Request.QueryString["id"]);  
    25.             Response.Write(id);  
    26.         }  
    27.     }  

    还要去对IIS设置:

    IIS设置

    这样的话伪静态就可以用了

    C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll ---这是上面的路径

    浏览Default.aspx页

    ListCategories.aspx --页面其实在服务器上面是没有的。它里面的内容是Default.aspx的内容,因为配置文件里面设置了

    写得有点乱。

    本例子是和微软的重写url基本一样的。算是简单化了一点点呵呵。

    原文标题:.net重写url浅谈

    链接:http://www.cnblogs.com/ret00100/archive/2009/10/12/1581778.html

    【编辑推荐】

    1. 详解ASP.NET MVC分页的实现方法
    2. ASP.NET MVC与WebForm区别谈
    3. ASP.NET MVC应用程序执行过程分析
    4. ASP.NET MVC分页控件的实现
    5. 有关ASP.NET MVC框架的一些基础知识

    相关内容

    热门资讯

    如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
    如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
    施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
    20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
    德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
    为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
    《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
    2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...