gpt4 book ai didi

asp.net - 在单个页面上使用多个 UpdatePanel 互不干扰

转载 作者:行者123 更新时间:2023-12-04 05:45:23 25 4
gpt4 key购买 nike

似乎当一个页面上有多个 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>

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

测试问题
  • 单击带有“单击我”文本的所有 3 个 div,以便在 UpdatePanel 内部和外部更改 HTML。
  • 单击标记为“AsyncPostBack”的按钮之一。无论单击哪一个,两个 UpdatePanel 都将重新呈现和替换其 HTML,如 UpdatePanel 中的 2 个 div 重置为其原始文本所见。

  • 所以我问,是否有可能在同一页面上有多个 UpdatePanel,它们不会在每次其中一个发生 asyncPostBack 事件时导致彼此重新渲染。

    最佳答案

    是的

  • 设置更新模式=条件
  • 提供将触发更新的触发器。这是一个示例的链接。 (谷歌排名第一)http://ajax.net-tutorials.com/controls/updatepanel-control/
  • 关于asp.net - 在单个页面上使用多个 UpdatePanel 互不干扰,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10741597/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com