1

我想动态链接到标头中的 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 集合,因为该控件包含代码块(即 <% ... %>)。

说明:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。

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

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

4

2 回答 2

0

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

你可以做其他的想法,比如:

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

<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);

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

于 2012-06-02T10:59:31.627 回答
0

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

于 2012-06-02T11:00:42.620 回答