How2: what event to hook in HttpModule for putting js links into head element

前端 未结 3 1805
梦如初夏
梦如初夏 2020-12-09 14:12

I want to have HttpModule to inject javascripts, css links into HEAD element from some simple config data. I am not sure which event I should hook?

Curently I use

3条回答
  •  独厮守ぢ
    2020-12-09 14:54

    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("\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() { }
        }
    }
    

    ASP.Net Lifecycle: http://msdn.microsoft.com/en-us/library/ms178473.aspx

提交回复
热议问题