Update Panel 中的 RadioButton 导致页面回发

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>

1
тюеТѓеуџёUpdatePanelСИГУ«Йуй«UpdateMode="Always"С╝џТюЅС╗ђС╣ѕСИЇтљїтљЌ№╝Ъ - Josh Darnell
1
你的单选按钮需要AutoPostBack="true"吗?你能将它设置为false吗? - Krishna
@jadarnel27 我尝试过 UpdateMode="Always"UpdateMode="Conditional",但它们都不起作用。 - duncanportelli
4
@Krishna 是的,我需要这个,因为如果我将其设置为 false,则不会调用 OnCheckedChanged 方法。 - duncanportelli
1个回答

12

根据您的需求,您可以通过添加触发器来控制后台提交(postbacks)。当您只想更新更新面板(update panel)内容时,请使用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>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接