, HttpModules IIS7 IIS6 5, , , IIS7.
HttpContext, . HttpContext ( HttpRequest), Response (HttpResponse) , (Application.EndRequest, ?), .
, , , , EndRequest, , .
, , Request.Url, , System.IO.Path. - :
string requestPath = HttpContext.Current.Request.Url.AbsolutePath;
string extension = System.IO.Path.GetExtension(requestPath);
bool isAspx = extension.Equals(".aspx");
. Context, .
, Cusom, Context.Items. , PlaceHolder .
- :
HttpModule:
public void Init(HttpApplication context)
{
context.BeginRequest += new EventHandler(BeginRequest);
}
void BeginRequest(object sender, EventArgs e)
{
HttpContext context = HttpContext.Current;
HttpRequest request = context.Request;
string requestPath = HttpContext.Current.Request.Url.AbsolutePath;
string extension = System.IO.Path.GetExtension(requestPath);
bool isAspx = extension.Equals(".aspx");
if (isAspx)
{
context.Items["custom"] = "anything here";
}
}
App_Code:
public class CustomPage : System.Web.UI.Page
{
public CustomPage()
{ }
protected override void OnPreRender(EventArgs e)
{
base.OnPreRender(e);
if (Context.Items["custom"] == null)
{
return;
}
PlaceHolder placeHolder = this.FindControl("pp") as PlaceHolder;
if (placeHolder == null)
{
return;
}
Label addedContent = new Label();
addedContent.Text = Context.Items["custom"].ToString();
placeHolder .Controls.Add(addedContent);
}
}
:
public partial class _Default : CustomPage
, System.Web.UI.Page CustomPage.
, , PlaceHolder aspx , , .