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

标签 asp.net

似乎当多个 UpdatePanel 位于单个页面上时,每当其中一个发生 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

测试问题

  1. 单击所有 3 个带有“Click Me”文本的 div,以便在 UpdatePanel 内部和外部更改 HTML。
  2. 单击标有“AsyncPostBack”的按钮之一。无论单击哪一个,两个 UpdatePanel 都将重新呈现并替换其 HTML,如 UpdatePanel 内的 2 个 div 重置为其原始文本所示。

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

最佳答案

是的

  1. 设置 updatemode=条件
  2. 提供将触发更新的触发器。这是示例的链接。 (谷歌搜索结果排名第 1)http://ajax.net-tutorials.com/controls/updatepanel-control/

关于asp.net - 在单个页面上使用多个 UpdatePanel 且不会互相干扰,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10741597/

相关文章:

asp.net - 在 ASP.NET 中使用无序列表设置导航样式的最佳方法

c# - 如何在 GridView 命令字段中调用 JavaScript 函数?

c# - 使用 ASP Identity 2 POSTing to/Token 端点时总是收到 'invalid_client' 错误

asp.net - Application_Error被忽略?

c# - 当我们使用 ASP.NET 路由值而不是 QueryString 值时,缓存 Vary BY Param

c# - 写入文件出来正方形

c# - 如何在没有回发的情况下更改同一页面上的查询字符串

c# - 我如何找出 Telerik 的 RADeditor 默认使用的皮肤?

javascript - ASP.NET jQuery ajax 仅在调试浏览器时有效

c# - Asp.net core Identity登录成功重定向回登录页面