【发布时间】:2010-10-27 18:48:45
【问题描述】:
我正在 ASP.NET 中创建自定义脚本控件
控件的目的只是标签的服务器变体,用于加载javascript文件 然而,此控件的主要目的是将多个脚本组合成一个响应,以便在客户端他们看到类似 每个位置的标签,因此在 DocumentTop 位置注册的所有脚本将组合成一个标签,但位置“内联”除外,所有内联脚本都在它们存在于标记中的位置单独呈现 我还创建了一个 httphandler js.ashx,它可以实际组合脚本
除了“Head”位置外,一切正常,对于两个文档位置,我只是在预渲染期间使用 ClientScriptManager,但对于 Head 位置,我在预渲染期间尝试了以下代码
var scriptControl = new HtmlGenericControl("script");
scriptControl.Attributes["language"] = "javascript";
scriptControl.Attributes["type"] = "text/javascript";
scriptControl.Attributes["src"] = src;
Page.Header.Controls.Add(scriptControl);
我收到以下错误: 在 DataBind、Init、Load、PreRender 或 Unload 阶段不能修改控件集合。
有谁知道如何在自定义控件中向页眉添加控件?
顺便说一句,该控件用于具有两个嵌套母版并且还在根母版上注册的 ScriptManager 的内容页面。 该项目是一个asp.net 3.5 web应用项目
【问题讨论】:
标签: c# asp.net custom-controls