c# - 更新面板内的单选按钮导致回发

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

最佳答案

根据您的要求,您可以通过添加触发器来控制回发。使用 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>

关于c# - 更新面板内的单选按钮导致回发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10192860/

相关文章:

c# - WPF 用户控件初始化组件异常

asp.net - 将 XLSX 文件写入 Response.OutputStream 时获取损坏的文件

asp.net - 启用非托管调试时不允许更改?

javascript - Ajax 从同一页面上的 mysql 加载表不起作用

c# - 使用 C# MEF 将其他属性导入元数据

c# - 从 HashSet 中获取 X 个最旧的项目?

c# - 使用 C# 中的 BitConverter 类将字节数组转换为十六进制值?

php - PHP 与 ASP.NET 相比有哪些优势?

javascript - 调整下拉菜单,使顶层保持突出显示

php - 如何在 ajax 中发送特殊字符作为值并在 php 端进行解码?