У меня есть UserControl, который я хочу включить в страницу несколько раз программно на основе некоторых бизнес-правил. В настоящее время элемент управления имеет функцию JavaScript, которая должна вызываться в событии ASP.NET AJAX pageLoad
.
Я использую шаблон, где на главной странице есть функция pageLoad
, которая вызывает функцию contentPageLoad
на любом шаблоне ContentTemplate, если функция существует. ContentTemplate, который содержит соответствующий UserControl, будет отвечать за вызов соответствующей функции в UserControl во время этого события.
Прямо сейчас, JavaScript является встроенным в .ascx
для UserControl, но у меня есть ощущение, что мне нужно использовать свойство Page.ClientScript
, чтобы внедрить его через код позади. У меня вопрос: как мне убедиться, что имена моих функций не перекрываются, и убедиться, что соответствующий метод вызывается для каждый UserControl?
К вашему сведению: код, который необходимо выполнить для каждого элемента UserControl, представляет собой блок jQuery, который создает элемент управления Multi-Select из стандартного HTML <select>
.
РЕДАКТИРОВАТЬ: RegisterStartupScript
было предложено, но это выполняется до завершения загрузки DOM. Оборачивание функции в jQuery Document.ready (), похоже, не помогает. Пользовательский элемент управления работает внутри UpdatePanel
, поэтому у меня нет выбора, как вызывать этот сценарий.