在Page_Load事件的我的页面上,我将一组字符串添加到Context对象。我有一个HttpModule将启动EndRequest并检索字符串的集合。然后我做的是写出一个脚本引用标记(基于字符串集合)给响应。问题是页面读取脚本引用,但不检索文件的内容(我想象,因为这发生在EndRequest事件中)。我无法触发BeginRequest事件,因为我无法访问Context Items集合。HttpModule将JavaScript脚本引用写入响应
我试着还注册了一个处理脚本引用请求的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>");
}
当然,除非他是制作第三方模块,当其他人使用时需要自动注入此代码,因此他们不必手动执行此操作。 – 2016-04-27 16:48:02