【问题标题】:Determine if a JavaScript file is already included via a user control通过用户控件确定是否已包含 JavaScript 文件
【发布时间】:2011-01-07 07:06:56
【问题描述】:

我正在为我的网站构建多个用户控件 (ASCX),其中一些控件的功能非常相似。 (作为旁注,我必须创建独特的 UC,即使它们相似,因为我正在为新的 Telligent 社区主题系统创建小部件)。例如,其中两个不同但使用相同的前端代码创建一个 2 或 3 个选项卡面板,您可以在其中单击一个选项卡并更改下面的数据。我有一个 JS 文件来处理这些选项卡和动画。我目前正在通过以下方式将我的 JS 文件引用从用户控件的代码中动态添加到 <head>

Literal jsFile = new Literal();
jsFile.Text = string.Format("<script src=\"{0}\"></script>", "/community/themes/test/js/tabbedCallout.js");
Page.Header.Controls.Add(jsFile);

如果我在一个页面上同时拥有这两个控件,它们都会添加这个 JS 文件引用。如何检查它是否已从另一个控件添加?

【问题讨论】:

    标签: c# asp.net javascript include telligent


    【解决方案1】:

    为什么不使用Page.ClientScript.RegisterClientScriptBlock(如此处所述:http://msdn.microsoft.com/en-us/library/btf44dc9.aspx)?
    这样您就可以为您需要的每个脚本添加一个密钥,并通过其密钥识别脚本!

    【讨论】:

    • +1:FTD:“尝试注册已注册的脚本不会创建脚本的副本。” -- 每次注册给定的 JS 文件时只需使用相同的密钥。它只会被添加到页面一次。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-18
    • 2016-12-19
    相关资源
    最近更新 更多