3

ページ全体が更新されないように、更新パネル内に次のコントロールを配置しています。ボタンをクリックしてもページが更新されませんが、ラジオ ボタンを変更しようとするとページが更新され、完全なポストバックが発生します。これが私のコードです:

<ajaxToolkit:ToolkitScriptManager ID="ToolkitScriptManager" runat="Server" EnablePartialRendering="true" />
<asp:UpdatePanel ID="updatePanelToggle" runat="server">
    <ContentTemplate>
        <asp:RadioButton ID="radioOn" AutoPostBack="true" runat="server" GroupName="toggle" Text="On" OnCheckedChanged="radioOn_CheckedChanged" />
        <asp:RadioButton ID="radioOff" AutoPostBack="true" runat="server" GroupName="toggle" Text="Off" OnCheckedChanged="radioOff_CheckedChanged" />
        <asp:Button ID="testButton" runat="server" OnClick="mybutton_click"/>
    </ContentTemplate>
</asp:UpdatePanel>
4

1 に答える 1

11

要件に応じて、トリガーを追加してポストバックを制御できます。更新パネルのコンテンツのみを更新する場合は、AsyncPostBackTriggerを使用します。完全なポスト バックが必要な場合は、PostBackTriggerを使用します。

<asp:UpdatePanel ID="updatePanelToggle" runat="server" UpdateMode="Conditional">
    <ContentTemplate>
        <asp:RadioButton ID="radioOn" AutoPostBack="true" runat="server" GroupName="toggle" Text="On" OnCheckedChanged="radioOn_CheckedChanged" />
        <asp:RadioButton ID="radioOff" AutoPostBack="true" runat="server" GroupName="toggle" Text="Off" OnCheckedChanged="radioOff_CheckedChanged" />
        <asp:Button ID="testButton" runat="server" OnClick="mybutton_click"/>
    </ContentTemplate>
   <Triggers>
        <asp:AsyncPostBackTrigger ControlID="radioOn" />
        <asp:AsyncPostBackTrigger ControlID="radioOff" />
        <asp:PostBackTrigger ControlID="testButton" />
    </Triggers>
</asp:UpdatePanel>
于 2012-04-17T14:22:13.077 に答える