RadioButtonList不会触发ajax回发

时间:2013-11-04 17:38:36

标签: ajax webforms telerik asp.net-4.0

我有一个ASP.Net RadioButtonList控件,其AutoPostBack设置为true,并且是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>

我正在使用RadrijaxManager,一个telerik控件来处理ajax回发

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

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

以上内容始终执行页面的完整回发。

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

1 个答案:

答案 0 :(得分:0)

是否是您使用RadAjaxManagerProxy而不是RadAjaxManager的结果?

RadAjaxManagerProxy期望在Master Page等中的其他地方声明RadAjaxManager。

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

祝你好运!


在回复您的评论时,我现在建议在引用ASPX页面中执行以下操作(如果可以在您的方案中执行):

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

Dim panel As Panel = CType(myUserControl.FindControl(“pnlControls”),Panel) Dim radio As RadioButtonList = CType(myUserControl.FindControl(“btnAcceptReject”),RadioButtonList)

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

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

希望它有所帮助!