Недавно я добавил элемент управления Telerik в ascx, который включен в страницу aspx. На этой странице есть кнопка «Отправить электронную почту», которая при нажатии отправит пользователю электронное письмо с обработанным выводом страницы. Элемент управления Telerik, который я добавил, требует ScriptManager, поэтому я добавил его в ascx. Однако теперь кнопка электронной почты не будет работать. Я получаю следующую ошибку:
Элемент управления с идентификатором «myIdHere» требует ScriptManager на странице. ScriptManager должен появиться перед любыми элементами управления, которым он нужен.
Я знаю, что диспетчер сценариев существует, потому что страница работает нормально, когда я перехожу по этому URL-адресу, и происходит сбой только при попытке отправить по электронной почте обработанный вывод.
Вот фрагмент кода, любые идеи относительно того, есть ли проблема со скриптовым менеджером при выполнении такого рода вещей?
Page EmailPage = new EmailBasePage();
System.Web.UI.HtmlControls.HtmlForm EmailForm = new System.Web.UI.HtmlControls.HtmlForm();
EmailPage.Controls.Add(EmailForm);
EmailForm.Controls.Add(contentTable); //this is the container with all the controls I want to email
StringBuilder SB = new StringBuilder();
StringWriter html = new StringWriter(SB);
HtmlTextWriter mhtmlWriter = new HtmlTextWriter(html);
EmailPage.DesignerInitialize();
EmailPage.RenderControl(mhtmlWriter);
mhtmlWriter.Close();
Обновление
Элемент управления «myIdHere», указанный в сообщении об ошибке, является элементом управления Telerik RadComboBox, для которого требуется ScriptManager. Это дочерний элемент управления contentTable, который добавляется в EmailForm. Иерархия управления выглядит следующим образом:
contentTable
|__UserControl1
|__ScriptManager1
|__UserControl2
|__Control "myIdHere", a Telerik RadComboBox requiring a ScriptManager