【问题标题】:Link javascript file dynamically in asp.net在asp.net中动态链接javascript文件
【发布时间】:2012-06-02 19:00:42
【问题描述】:

我想动态链接到标头中的 javascript 文件

<script src='<%=Global.RootPath%>js/jquery1.4.2.js' type="text/javascript"></script>
<script src='<%=Global.RootPath%>js/jquery.mousewheel-3.0.4.pack.js' type="text/javascript"></script>

但我遇到了错误

无法修改 Controls 集合,因为该控件包含代码块(即 )。

描述:执行过程中发生了未处理的异常 当前的网络请求。请查看堆栈跟踪以获取更多信息 有关错误的信息以及它在代码中的来源。

异常详情:System.Web.HttpException: The Controls collection cannot be modified because the control contains code blocks (i.e. <% ... %>).

我想动态添加 javascript 文件。请解释为什么我会收到此错误,还有其他方法可以做到这一点吗?

【问题讨论】:

    标签: asp.net


    【解决方案1】:

    是的,当您尝试在标题上呈现类似内容时,这是一个常见错误。

    你可以做这样的替代想法:

    放置一个文字控件,并在后面的代码上完全呈现您的脚本行。

    <asp:Literal runat="server" id="txtScripts" EnableViewState="false" />
    

    并将代码后面的整行渲染为

    txtScripts.Text = string.Format(
    "<script src='{0}js/jquery1.4.2.js' type=\"text/javascript\"></script>", Global.RootPath);
    

    或者,您可以完全动态地创建它们并添加到标题控件列表中。

    【讨论】:

      【解决方案2】:

      要包含 javascript,您还可以在文档结尾处包含。如果您想在标题处专门插入,请创建一个文字控件并将其文本设置为您的脚本标签并将其添加到 Page.Headers。

      【讨论】:

        猜你喜欢
        • 2011-12-29
        • 2015-05-06
        • 2017-10-11
        • 1970-01-01
        • 2014-08-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多