似乎当多个 UpdatePanels 在一个页面上时,只要一个 asyncPostBack 发生在一个页面上,所有其他人都会重新加载其 html。有没有解决的办法?
例子
例子.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>
例子.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 个 div,以便在 UpdatePanel 内部和外部更改 HTML。
- 单击标有“AsyncPostBack”的按钮之一。无论单击哪一个,两个 UpdatePanel 都将重新呈现和替换其 HTML,正如 UpdatePanel 中的 2 个 div 重置为原始文本所看到的那样。
所以我问,是否有可能在同一页面上有多个 UpdatePanel,它们不会在其中一个发生 asyncPostBack 事件时相互重新呈现。