Это может относиться к категории «Я думаю, что вы делаете это неправильно», но у меня есть пользовательский контроль, в котором есть javascript, и я хочу динамически загрузить его в панель обновления. Это значит, что начальная загрузка страницы невелика, но если пользователь делает запрос, элемент управления загружается (ничего необычного).
Я обнаружил, что мой javascript не выполняется при загрузке элемента управления. Есть ли какое-то волшебство, чтобы заставить выполнение javascript, или это никогда не произойдет, потому что браузер не будет повторно анализировать загруженный html для тегов?
Мой пользовательский элемент управления
<div>hello</div>
<script type="text/javascript" >
alert('hello');
</script>
Страница ascx
<asp:Button OnClick="LoadTheControl" runat="server">Click to Load</asp:Button>
<asp:UpdatePanel ID="myUPanel" runat="server">
<asp:PlaceHolder ID="WantControlHere" runat="server" />
<Triggers>
<asp:AsyncPostBackTrigger ControlID="LoadTheControl" />
</Triggers>
</asp:UpdatePanel>
Page cs
protected void LoadTheControl(object sender, EventArgs e)
{
MyControl control = (MyControl)LoadControl("~/MyControl.ascx");
control.ID = Guid.NewGuid().ToString();
WantControlHere.Controls.Add(control);
}
Firebug показывает мне весь код моего контроля, но JavaScript не выполняется.
Пожалуйста, укажите на мою глупость.