看起来,当多个UpdatePanels在单个页面上时,任何时候在一个页面上发生asyncPostBack,所有其他页面将重新加载它们的html。有没有解决的办法?在单个页面上使用多个UpdatePanel而不会相互干扰
例
Example.aspx
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<div style="border: 1px solid black;">
<asp:TextBox runat="server" ID="txtTEST1" />
<asp:Label runat="server" ID="lblTEST1" />
<asp:Button runat="server" ID="btnTEST1" Text="AsyncPostBack1" />
<div onclick="this.innerHTML='Wooo!'">Click Me - UpdatePanel1</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
<div onclick="this.innerHTML='Wooo!'" style="padding: 1em;">Click Me. I'm not part of an Update Panel</div>
<asp:UpdatePanel ID="UpdatePanel2" runat="server">
<ContentTemplate>
<div style="border: 1px solid black;">
<asp:TextBox runat="server" ID="TextBox1" />
<asp:Label runat="server" ID="Label1" />
<asp:Button runat="server" ID="Button1" Text="AsyncPostBack2" />
<div onclick="this.innerHTML='Wooo!'">Click Me - UpdatePanel2</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
Example.aspx.vb
Protected Sub btnTEST1_Click(sender As Object, e As EventArgs) Handles btnTEST1.Click
lblTEST1.Text = "Refreshed at " & DateTime.Now.ToString()
End Sub
Protected Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Label1.Text = "Refreshed at " & DateTime.Now.ToString()
End Sub
测试问题
- 用“Click Me”文本点击所有3个divs,以便在UpdatePanels内部和外部更改HTML。
- 单击标有“AsyncPostBack”的按钮之一。无论点击哪一个,UpdatePanels都会将其HTML重新放置并替换,如UpdatePanels中的2个div所示,重置为其原始文本。
那么请问,有没有可能具有相同的页面上有多个UpdatePanel的不引起对方重新呈现每当其中一人有一个asyncPostBack事件。