Updatepanel内的单选按钮导致回发

时间:2012-04-17 14:09:01

标签: c# asp.net ajax updatepanel

我将以下控件放在更新面板中,以便整个页面不会刷新。单击按钮时,页面不会刷新,但是当我尝试更改单选按钮时,页面会刷新并导致完整的回发。这是我的代码:

<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>

1 个答案:

答案 0 :(得分:10)

根据您的要求,您可以通过添加触发器来控制回发。如果只想更新更新面板内容,请使用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>