我正在开发一个WebPart(它将用于SharePoint环境,尽管它不使用对象模型),我希望在其中公开AJAX功能。由于环境的性质,直接向页面添加脚本管理器不是一种选择,因此必须以编程方式添加。我已经尝试在我的WebPart代码中向页面添加ScriptManager控件。
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 阶段期间无法修改控件集合。"
有没有另一种方法可以从 WebPart 向页面添加 ScriptManager,或者我需要将 ScriptManager 添加到每个将使用 WebPart 的页面(或主页面)中?
Page.Items[typeof(ScriptManager)] = newScriptManager
正确设置脚本管理器的方法。 - controlflow