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