我有一个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部分回发?
答案 0 :(得分:0)
是否是您使用RadAjaxManagerProxy而不是RadAjaxManager的结果?
RadAjaxManagerProxy期望在Master Page等中的其他地方声明RadAjaxManager。
如果失败,那么我建议改变pnlControl以成为RadAjaxPanel,然后删除RadAjaxManagerProxy声明,因为RadAjaxPanel将为您完成所有工作。
祝你好运!在回复您的评论时,我现在建议在引用ASPX页面中执行以下操作(如果可以在您的方案中执行):
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,则可选择
希望它有所帮助!