“更新面板”控件出现问题

本文关键字:控件 问题 更新面板 更新 | 更新日期: 2023-09-27 17:55:58

我正在使用 ASP.NET,其中我正在使用Ajaxcontroltoolkit和"update panel"控件来更新页面的一部分。
当我第一次运行该程序时,它工作正常,但从第二次开始,"更新面板"控件不起作用。我可以提供有关它的更多详细信息,知道问题是什么吗?

<asp:UpdatePanel ID="UpdatePanel1" runat="server">
            <ContentTemplate>
                <table border="1" id="tbRegistration" style="font-family: Calibri" width="800px">
                    <tr>
                        <td style="width: 33%" align="center">
                            <asp:RadioButton ID="rbIndividual" runat="server" OnCheckedChanged="RadioButton_CheckedChanged"
                                Text="Individual" GroupName="Profile" AutoPostBack="true" />
                        </td>
                        <td style="width: 33%" align="center">
                            <asp:RadioButton ID="rbAgent" runat="server" OnCheckedChanged="RadioButton_CheckedChanged"
                                Text="Agent" GroupName="Profile" AutoPostBack="true" />
                        </td>
                        <td style="width: 33%" align="center">
                            <asp:RadioButton ID="rbBuilder" runat="server" OnCheckedChanged="RadioButton_CheckedChanged"
                                Text="Builder" GroupName="Profile" AutoPostBack="true" />
                        </td>
                    </tr>
                </table>
            </ContentTemplate>
        </asp:UpdatePanel>

“更新面板”控件出现问题

我认为您必须以这种方式使用更新面板:

<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
 </asp:UpdatePanel>

如果UpdateMode不能解决您的问题,请尝试使用这个:

<asp:UpdatePanel ID="UpdatePanel1" UpdateMode="Conditional" ChildrenAsTriggers="false"  runat="server">
</asp:UpdatePanel>

由于 ASP.NET Ajax UpdatePanel 很酷的地方在于,当内部引发通常会生成回发的事件时,其内容会异步更新,因此人们会认为这是其默认行为。

但事实并非如此:UpdatePanel 的 UpdateMode 属性有 2 个可能的值:

  • 总是
  • 有條件的

默认值为始终。

如果设置为"始终",则 UpdatePanel 会在从页面中的任何位置(即从面板内、其他面板内或页面上的控件)引发的每个回发时更新。

设置为"条件"时,将仅在由面板内的控件或指定的触发器发起的回发时更新 UpdatePanel。

因此,如果您有多个更新面板,并且不想每次都更新所有更新面板,则必须将更新模式设置为条件