0
這可能屬於「我認爲你做錯了」類別,但我有一個用戶控件,它裏面有javascript,我想動態地將它加載到更新面板中。這是因爲初始頁面加載佔用空間很小,但是如果用戶發出請求,則加載控件(沒有什麼不尋常的)。使用LoadControl進行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>
頁CS
protected void LoadTheControl(object sender, EventArgs e)
{
MyControl control = (MyControl)LoadControl("~/MyControl.ascx");
control.ID = Guid.NewGuid().ToString();
WantControlHere.Controls.Add(control);
}
螢火顯示了我控制的所有代碼是存在的,但JavaScript的是不執行。
請指出我的愚蠢。