【问题标题】:RadioButtonList not triggering ajax postbackRadioButtonList 未触发 ajax 回发
【发布时间】:2013-11-15 10:10:12
【问题描述】:

我有一个将 AutoPostBack 设置为 true 的 ASP.Net RadioButtonList 控件和一个用于 SelectedIndexChanged 事件的服务器端处理程序。

<asp:RadioButtonList runat="server" ID="btnAcceptReject" RepeatDirection="Horizontal" CssClass="checkboxlist borderless" ValidationGroup="data" AutoPostBack="true" OnSelectedIndexChanged="radioButtonList_SelectedIndexChanged">
    <asp:ListItem Text="The edition is hereby validated for conformity to standards" Value="0" Selected="True"></asp:ListItem>
    <asp:ListItem Text="The edition does not meet standards and still has to be reviewed" Value="1"></asp:ListItem>
</asp:RadioButtonList>

我正在使用 RadAjaxManager(一个 Telerik 控件)来处理 ajax 回发

<telerik:RadAjaxManagerProxy runat="server" ID="RadAjaxManagerPRoxy1">
    <AjaxSettings>
        <telerik:AjaxSetting AjaxControlID="btnAcceptReject">
            <UpdatedControls>
                <telerik:AjaxUpdatedControl ControlID="pnlControls" />
            </UpdatedControls>
        </telerik:AjaxSetting>
</AjaxSettings>

pnlControl 是页面上的一个面板,其中包含将根据选中的单选按钮启用/禁用的控件。

上面总是执行页面的完整回发。

如何让它执行 ajax 部分回发?

【问题讨论】:

    标签: ajax webforms telerik asp.net-4.0


    【解决方案1】:

    这可能是您使用 RadAjaxManagerProxy 而不是 RadAjaxManager 的结果吗?

    RadAjaxManagerProxy 期望在母版页等的其他地方声明有一个 RadAjaxManager。

    如果失败,那么我建议将 pnlControl 更改为 RadAjaxPanel,然后删除 RadAjaxManagerProxy 声明,因为 RadAjaxPanel 将为您完成所有工作。

    祝你好运!


    作为对您的 cmets 的回复,我现在建议在引用的 ASPX 页面中执行以下操作(如果在您的情况下可能的话):

    • 将 RadAjaxManagerProxy 添加到客户端
    • 在代码隐藏中添加要在 Page_Load 期间调用的新 Sub(在回发检查之外)
    • 在潜艇内:

    Dim panel As Panel = CType(myUserControl.FindControl("pnlControls"),Panel) 调暗收音机 As RadioButtonList = CType(myUserControl.FindControl("btnAcceptReject"), RadioButtonList)

    RadAjaxManagerProxy1.AjaxSettings.AddAjaxSetting(radio, panel, Nothing)

    *Nothing - 如果您在 .ASPX 页面上声明了一个 RadAjaxLoadingPanelID,则可以选择一个 RadAjaxLoadingPanelID

    希望对你有帮助!

    【讨论】:

    • 确实在母版页上声明了一个 RadAjaxManager,否则我会得到一个异常。我从未使用过 RadAjaxPanel,但我会尝试一下
    • 我尝试使用 RadAjaxPanel,同样的故事。它一直在执行完整的回发。如果这是相关的,这两个控件,btnAcceptReject 和 pnlControls 都在用户控件中。
    • 已对我的原始帖子进行了编辑 - 请查看
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多