就在渲染页面之前(或期间),我想附加一段代码(java脚本)。但是,当我尝试通过 Page.Controls 属性添加新的 LiteralControl 时,出现错误:
The Controls collection cannot be modified because the control contains code blocks (i.e. <% ... %>).
如何解决这个问题?
就在渲染页面之前(或期间),我想附加一段代码(java脚本)。但是,当我尝试通过 Page.Controls 属性添加新的 LiteralControl 时,出现错误:
The Controls collection cannot be modified because the control contains code blocks (i.e. <% ... %>).
如何解决这个问题?
为避免该问题,请执行以下操作:
<asp:Placeholder id="Placeholder1" runat="server" />
在 ASPX 中添加控件在后面的代码中,将控件添加到该占位符的 Controls 集合中:
Placeholder1.Controls.Add(myControl);
您可以将其添加LiteralControl
到您的标记中并Text
从代码隐藏中设置其属性。
编辑:
另一个(可能更正确)的选择是使用ScriptManager.RegisterClientScriptBlock