【问题标题】:How can I reference a JavaScript file on every page? (ASP.NET 1.1)如何在每个页面上引用 JavaScript 文件? (ASP.NET 1.1)
【发布时间】:2008-10-18 14:45:27
【问题描述】:

我正在维护一个旧的 ASP.NET 1.1 站点。我们正在与 Google 合作,在所有页面上放置分析代码。由于我无法利用 1.1 中的母版页,因此我的页面包含带有用户控件的页眉/页脚/侧边栏。

首先想到的是将 JavaScript 放在我的页脚 ascx 控件中,以便它出现在每个页面上。但我认为我不能从用户控件链接到 JavaScript 文件。

关于如何将这个 js 代码放置在我网站的每个页面上的任何想法?

【问题讨论】:

    标签: asp.net javascript


    【解决方案1】:

    是什么让您不能简单地在用户控件中引用您的脚本?

    <asp:SomeControl ID="SomeControl1" runat="server>
      <script src="some.js" type="text/javascript"></script>
    </asp:SomeControl>
    

    你也可以这样做:

    protected void Page_Load(object sender, EventArgs e)
    {
      Literal some_js = new Literal();
      some_js = "<script type='text/javascript' src='some.js'></script>";
      this.Header.Controls.Add(some_js);
    }
    

    (显然,第二种方法仍会强制您修改页面本身,除非它们从您控制的共同父级继承。)

    【讨论】:

    • Apprach 1 应该可以正常工作 - 只需将分析代码放入用户控件的 HTML 部分即可。
    【解决方案2】:

    创建一个基页类并在基页中加载脚本。进一步从基本页面继承所有页面。

    其他方式可以与Tomalak建议的方式相同

    HtmlGenericControl jscriptFile = new HtmlGenericControl();
    jscriptFile.TagName = "script";
    jscriptFile.Attributes.Add("type", "text/javascript");
    jscriptFile.Attributes.Add("language", "javascript"); 
    jscriptFile.Attributes.Add("src", ResolveUrl("myscriptFile.js"));
    this.Page.Header.Controls.Add(myJs);
    

    【讨论】:

    • 我的解决方案是创建一个基本页面并注册 javascript。
    猜你喜欢
    • 2016-01-28
    • 1970-01-01
    • 1970-01-01
    • 2014-07-18
    • 2010-10-27
    • 2010-09-24
    • 2012-10-30
    • 2013-10-11
    • 1970-01-01
    相关资源
    最近更新 更多