使用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>