我正在开发一个我想在其中公开 AJAX 功能的 WebPart(它将在 SharePoint 环境中使用,尽管它不使用对象模型)。由于环境的性质,将脚本管理器直接添加到页面是不是一个选项,因此必须以编程方式添加。我试图将 ScriptManager 控件添加到我的 webpart 代码中的页面。
protected override void CreateChildControls()
{
if (ScriptManager.GetCurrent(Page) == null)
{
ScriptManager sMgr = new ScriptManager();
// Ensure the ScriptManager is the first control.
Page.Form.Controls.AddAt(0, sMgr);
}
}
但是,执行此代码时,我收到以下错误消息:
“在 DataBind、Init、Load、PreRender 或 Unload 阶段不能修改控件集合。”
是否有另一种方法可以将 ScriptManager 从 WebPart 添加到页面,或者我是否必须将 ScriptManager 添加到将使用 WebPart 的每个页面(或母版页)?