Я пытаюсь добавить элемент управления ScriptManager программно, но только если его нет на странице. Я нашел много примеров для этого, которые помещают логику в Page_Init, что имеет смысл (с тех пор понял, что не имеет смысл - см. Правку снизу), но я получаю исключение перед моим Init метод когда-либо поражен.
protected void Page_Init(object sender, EventArgs e)
{
if (ScriptManager.GetCurrent(Page) == null)
{
ScriptManager sMgr = new ScriptManager();
Page.Form.Controls.AddAt(0, sMgr);
}
}
Это заставляет меня думать, что Sitecore как-то мешает. Кто-нибудь успешно сделал это с помощью Sitecore?
Спасибо.
РЕДАКТИРОВАТЬ: Исключение я получаю следующим образом:
«Элемент управления с идентификатором filtersUpdatePanel требует наличия ScriptManager на странице. ScriptManager должен появляться перед любыми элементами управления, которым он необходим."
РЕДАКТИРОВАТЬ ^ 2: На самом деле здесь происходило то, что Page_Init слишком поздно в жизненном цикле подключить ScriptManager (в моем случае). При использовании Init сначала запускаются все дочерние события, а затем Page. Инициатор UpdatePanel не увидел ScriptManager, поэтому он выдал исключение. Помещение логики ScriptManager в инициализацию UpdatePanel решило проблему.