Я разрабатываю WebPart (он будет использоваться в среде SharePoint, хотя он не использует объектную модель), в котором я хочу открыть функциональность AJAX. Из-за природы среды добавление Script Manager прямо на страницу не является опцией, и поэтому ее необходимо добавить программно. Я попытался добавить элемент 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."
Есть ли другой способ добавить ScriptManager на страницу из WebPart, или мне нужно просто добавить ScriptManager на каждую страницу (или главную страницу), которая будет использовать WebPart?