我有一個.aspx頁面,它動態創建多個用戶控件,每個用戶控件都有自己的代碼,在用戶控件級別基於幾個事件觸發代碼。問題是,在特定用戶控件觸發事件之前,父頁面Load
也會觸發。因爲每個控件都是動態添加的,所以這不是一個微不足道的處理,因爲每個控件都必須重新添加。每當用戶控件事件觸發時父頁加載事件觸發
我想能夠觸發UserControl事件而不強制在承載它的頁面上進行更新。我試圖將整個用戶控件放在UpdatePanel
中,但用戶控件中的回發仍然強制父頁面加載。
下面是一些測試代碼,省略了某些部分,並且聲明性地添加了控件,而不是通過編程方式。
.ASPX父頁
<%@ Page Language="vb" CodeBehind="MyParent.aspx.vb" %>
<%@ Register TagPrefix="uc" TagName="Control" Src="MyControl.ascx" %>
<form id="form1" runat="server">
<asp:ScriptManager runat="server"></asp:ScriptManager>
<asp:UpdatePanel runat="server">
<ContentTemplate>
<uc:Control ID="Control1" runat="server" />
</ContentTemplate>
</asp:UpdatePanel>
</form>
.ASCX用戶控制
<%@ Control Language="vb" CodeBehind="MyControl.ascx.vb" %>
<p>Control Added</p>
<asp:Button runat="server" Text="ForcePostBack"/>