我正在尝试从用户控件添加到webform页面的链接。 CSS文件包含控件使用的样式。当我尝试时,我得到以下异常:
在DataBind,Init,Load,PreRender或Unload阶段无法修改控件集合
那么,何时可以将任何内容添加到控件集合中?在我看来,异常消息表明所有选项都不在桌面上。这是代码:
public partial class AddNoteDlg : UserControl
{
protected void Page_Load(object sender, EventArgs e)
{
RegisterFiles();
}
private void RegisterFiles()
{
Page.ClientScript.RegisterClientScriptInclude(GetType(), "addNoteDlgComponent-1.0.0.js", ResolveUrl("~/Shared/scripts/js/addNoteDlgComponent-1.0.0.js"));
var css = new HtmlLink();
css.Href = ResolveUrl("~/Shared/css/addNoteDlg-0.0.1.css");
css.Attributes["rel"] = "stylesheet";
css.Attributes["type"] = "text/css";
css.Attributes["media"] = "all";
Page.Controls.Add(css);
}
}
相反,将链接标记粘贴在用户控制标记中,实际上并没有区别。
(以编程方式执行此操作的最初动机是,我可以将其添加到标题中,使用Page.Header.Controls.Add(css)
,允许我保留标题中的所有CSS链接。)