您的位置:首页 > 理论基础 > 计算机网络

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

2013-03-11 20:05 477 查看
使用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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: