【发布时间】:2010-03-11 16:28:47
【问题描述】:
在 Page_Load 事件中的页面上,我将字符串集合添加到 Context 对象。我有一个 HttpModule 会触发 EndRequest 并检索字符串的集合。然后我要做的是在响应中写出一个脚本引用标签(基于字符串的集合)。问题是页面读取脚本引用但没有检索文件的内容(我想是因为这发生在 EndRequest 事件中)。我无法触发 BeginRequest 事件,因为我无法访问 Context Items 集合。
我还尝试注册一个处理脚本引用请求的 HttpHandler,但我无法从那里访问 Context.Items 中的字符串集合。有什么建议吗?
Page_Load:
protected void Page_Load(object sender, EventArgs e)
{
Context.Items.Add("ScriptFile", "/UserControls.js");
}
HttpModule:
public void OnEndRequest(Object s, EventArgs e)
{
HttpApplication app = s as HttpApplication;
object script = app.Context.Items["ScriptFile"];
app.Response.Write("<script type='text/javascript' src='" + script + "'></script>");
}
【问题讨论】:
标签: c# asp.net httphandler httpmodule