2013-11-04 60 views
0

我有一个ASP.Net RadioButtonList控件,其AutoPostBack设置为true,服务器端处理程序为SelectedIndexChanged事件。RadioButtonList不会触发ajax回发

<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部分回发?

回答

0

难道这是你使用RadAjaxManagerProxy而不是RadAjaxManager的结果吗?

RadAjaxManagerProxy希望有一个RadAjaxManager母版页等中的其他地方声明

如果失败,那么我建议改变pnlControl成为RadAjaxPanel然后取出RadAjaxManagerProxy宣布为RadAjaxPanel将尽一切为你工作。

祝你好运!


在回答您的意见,我现在会建议做参考ASPX页面中的以下(如果您的情况下是可能的):

  • 添加RadAjaxManagerProxy到客户端
  • 在后台代码添加一个新的小组的Page_Load中被称为
  • (回发检查外)中的子:

昏暗面板作为面板= CTYPE(myUserControl.FindControl( “pnlControls”),面板) 昏暗无线电如单选按钮列表= CTYPE(myUserControl.FindControl( “btnAcceptReject”),单选按钮列表)

RadAjaxManagerProxy1.AjaxSettings.AddAjaxSetting(无线电,面板,为Nothing)

*无 - 可选,如果你有一个在.aspx页面

希望它可以帮助上宣布RadAjaxLoadingPanelID!

+0

RadAjaxManager确实在母版页上声明,否则我会得到一个异常。我从来没有使用RadAjaxPanel,但我会试试 – kfc

+0

我尝试使用RadAjaxPanel,同样的故事。它继续执行完整的回发。如果这是相关的,这两个控件,btnAcceptReject和pnlControls都在用户控件中。 – kfc

+0

已对我的原始文章进行了编辑 - 请查看 – Mak