我知道这已被问到,但我有一个比其他相关问题更复杂的问题。用户控件引用样式表/脚本
我需要从我的usercontrol引用CSS和JS。
参考文献必须在<head>
标记内呈现。出于这个原因,我不能使用ScriptManager.RegisterClientScriptBlock
其他解决方案,我发现:
HtmlLink link = new HtmlLink();
link.Href = "/path/style.css";
link.Attributes["type"] = "text/css";
link.Attributes["rel"] = "stylesheet";
Page.Header.Controls.Add(link);
然而,这结束了“Controls集合不能修改,因为该控件包含代码块” 的问题是这些代码块位于主页面文件中,我无法控制。因此,在this thread中建议的解决方法是不可能的。 (如:包代码块<asp:placeholder ID="Placeholder1" runat="server">
或<%#
因此,考虑上述限制更换<%=
,才有可能把<link href='path' />
和<script src='path' />
内<head>
标签由用户控制
仍然产生相同的错误:***“Controls集合不能被修改,因为该控件包含代码块(即<% ... %>)。“*** –