How2:在HttpModule中挂钩什么事件将js链接放入head元素

Jar*_*ban 1 asp.net ihttpmodule

我想让HttpModule从一些简单的配置数据中注入javascripts,css链接到HEAD元素.我不确定应该挂哪个事件?

我可以使用
- context.PreRequestHandlerExecute动态更改母版页
- Context.BeginRequest用于SEO优化

HTTPModule事件执行命令有一些帮助吗?

谢谢你的提示.干杯,X.

Cha*_*ant 7

using System;
using System.Web;
using System.Web.UI;

namespace YourNamespace
{
    public class YourModule : IHttpModule
    {
        public void Init(HttpApplication context)
        {
            context.PreRequestHandlerExecute += Application_PreRequestHandlerExecute;
        }

        private void Application_PreRequestHandlerExecute(object sender, EventArgs e)
        {
            Page page = HttpContext.Current.CurrentHandler as Page;
            if (page != null)
            {
                string script = "/js/jquery.1.3.2.min.js";
                if (page.Header != null)
                {
                    string scriptTag = String.Format("<script language=\"javascript\" type=\"text/javascript\" src=\"{0}\"></script>\n", script);
                    page.Header.Controls.Add(new LiteralControl(scriptTag));
                }
                else if (!page.ClientScript.IsClientScriptIncludeRegistered(page.GetType(), script))
                    page.ClientScript.RegisterClientScriptInclude(page.GetType(), script, script);
            }
        }

        public void Dispose() { }
    }
}
Run Code Online (Sandbox Code Playgroud)

ASP.Net生命周期:http://msdn.microsoft.com/en-us/library/ms178473.aspx