Add JavaScript reference from code behind (C#)

前端 未结 3 998
耶瑟儿~
耶瑟儿~ 2021-02-08 12:24

Is it possible to add javascript reference dynamically from code behind aspx.cs?

Like this:

private void AddScriptReference(string path)
{
   //Add refer         


        
相关标签:
3条回答
  • 2021-02-08 12:43

    You can use the ASP.NET Ajax ScriptManager to do so.

    Add it to your masterpage, and use ScriptManager.RegisterClientScriptInclude from your codebehind.

    0 讨论(0)
  • 2021-02-08 12:59

    Bit late but thought I'd post an answer to this in case anybody else needs it. This solution negates the need for a ScriptManager.

    Basically, it's just a case of creating a control and then adding to the head. Here's the code.

    LiteralControl javascriptRef = new LiteralControl("<script type='text/javascript' src='path_to_script.js'></script>");
    
    Page.Header.Controls.Add(javascriptRef);
    
    0 讨论(0)
  • 2021-02-08 13:01

    For those who want to know the syntax, here it is:

    Master Page:

    <asp:ScriptManager ID="ScriptManager" EnablePageMethods="true" runat="server"></asp:ScriptManager>
    

    Code behind:

    ScriptReference sr = new ScriptReference("path-to-js.js");
    ScriptManager sm = (ScriptManager)this.Master.FindControl("ScriptManager");
    sm.Scripts.Add(sr);
    

    Or:

    ScriptManager.RegisterClientScriptInclude(this.Page, GetType(), "UniqueID", "path-to-js.js");
    

    But none of these solutions actually add the script to the head of the page..

    0 讨论(0)
提交回复
热议问题