使用HttpModule(给页面添加页头和页尾,重写URL)

来源:互联网 发布:一个都不能少影评知么 编辑:程序博客网 时间:2024/05/17 03:17

使用HttpModule(给页面添加页头和页尾)

 

Module.cs

 

#region IHttpModule 成员   

 public void Dispose()    {    }   

public void Init(HttpApplication context)   

 {        

 context.BeginRequest +=new EventHandler(context_BeginRequest);     

   context.EndRequest +=new EventHandler(context_EndRequest);   

 }   

 void context_EndRequest(object sender, EventArgs e)   

 {       

 ((HttpApplication)sender).Response.Output.Write("<hr>页尾");   

 }   

void context_BeginRequest(object sender, EventArgs e)   

 {      

  ((HttpApplication)sender).Response.Output.Write("页头<hr>");   

 }   

 #endregion

 

 

URL重写

public class UrlRewriter:IHttpModule{   

public UrlRewriter()   

 {    

    //        //TODO: 在此处添加构造函数逻辑        // 

   }  

  #region IHttpModule 成员 

   public void Dispose()  

  {    }   

 public void Init(HttpApplication context)  

  {       

 context.BeginRequest += new EventHandler(context_BeginRequest);   

}

    void context_BeginRequest(object sender, EventArgs e)   

{     

   HttpContext context = ((HttpApplication)sender).Context;       

 string requestPath = context.Request.Path.ToLower();     

   //判断请求路径是否为购买页面       

 if (requestPath.Contains("/httpmodule/goumai/"))      

  {          

   //找到路径中最后一个"/"的位置          

  int start = requestPath.LastIndexOf("/");          

  //找到最后一个"."的位置         

   int end = requestPath.LastIndexOf(".");          

  string id = requestPath.Substring(start + 1, (end - start));         

   context.RewritePath("~/goumai/goumai.aspx?id=" + id);      

  }  

  }  

  #endregion

}

 

Web.config

<configuration>   

 <system.web>    

    <httpModules>           

          <add name="Text" type="Module"/>   

   <!--<add name="UrlRewriter" type="UrlRewriter"/>-->   

     </httpModules>       

        <compilation debug="true" targetFramework="4.0"/> 

       </system.web>

</configuration>