I have an ASP.Net RadioButtonList control with AutoPostBack set to true and a server side handler for the SelectedIndexChanged event.
<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><telerik:RadAjaxManagerProxy runat="server" ID="RadAjaxManagerPRoxy1"><AjaxSettings><telerik:AjaxSetting AjaxControlID="btnAcceptReject"><UpdatedControls><telerik:AjaxUpdatedControl ControlID="pnlControls" /></UpdatedControls> </telerik:AjaxSetting><br></AjaxSettings>pnlControl is a panel on the page containing controls that will be enabled/disabled depending on which radio button was checked.
the RadAjaxManager never seems to catch the submit event, the above always performs a full postback when one of the radio button of the group is clicked.
5 Answers, 1 is accepted
0
Princy
Top achievements
Rank 2
answered on 05 Nov 2013, 11:22 AM
Hi ck,
Unfortunately I couldn't replicate the issue at my end. Here is the sample code I tried which works as expected.
MasterPage ASPX:
Content Page ASPX:
Thanks,
Princy.
Unfortunately I couldn't replicate the issue at my end. Here is the sample code I tried which works as expected.
MasterPage ASPX:
<telerik:RadAjaxManager ID="RadAjaxManager1" runat="server"></telerik:RadAjaxManager>
......
Content Page ASPX:
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server"> <telerik:RadAjaxManagerProxy ID="RadAjaxManager1" runat="server"> <AjaxSettings> <telerik:AjaxSetting AjaxControlID="btnAcceptReject"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="pnlControls" /> </UpdatedControls> </telerik:AjaxSetting> </AjaxSettings> </telerik:RadAjaxManagerProxy> <asp:RadioButtonList ID="RadioButtonList1" runat="server" AutoPostBack="true"> <asp:ListItem Text="Item1" Selected="True"> </asp:ListItem> <asp:ListItem Text="Item2"> </asp:ListItem> </asp:RadioButtonList> <asp:Panel ID="Panel1" runat="server"> <asp:Label ID="Label1" runat="server"> </asp:Label> </asp:Panel></asp:Content>Thanks,
Princy.
0
ck
Top achievements
Rank 1
answered on 05 Nov 2013, 01:02 PM
well if it helps, both btnAcceptReject and pnlControls are inside a user control
0
Princy
Top achievements
Rank 2
answered on 06 Nov 2013, 03:52 AM
Hi ck,
Please have a look into the sample code in which the RadioButtonList and Panel are inside a UserControl.
ASPX:
UserControl :
Thanks,
Princy.
Please have a look into the sample code in which the RadioButtonList and Panel are inside a UserControl.
ASPX:
<telerik:RadAjaxManager ID="RadAjaxManager1" runat="server"></telerik:RadAjaxManager><uc1:ajaxmanagerproxy ID="ajaxmanagerproxy1" runat="server" />
... UserControl :
<telerik:RadAjaxManagerProxy ID="RadAjaxManager1" runat="server"> <AjaxSettings> <telerik:AjaxSetting AjaxControlID="RadioButtonList1"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="Panel1" /> </UpdatedControls> </telerik:AjaxSetting> </AjaxSettings></telerik:RadAjaxManagerProxy><asp:RadioButtonList ID="RadioButtonList1" runat="server" AutoPostBack="true"> <asp:ListItem Text="Item1" Selected="True"> </asp:ListItem> <asp:ListItem Text="Item2"> </asp:ListItem></asp:RadioButtonList><asp:Panel ID="Panel1" runat="server"> <asp:Label ID="Label1" runat="server"> </asp:Label></asp:Panel>Thanks,
Princy.
0
ck
Top achievements
Rank 1
answered on 06 Nov 2013, 09:49 AM
Ok i am posting my code, if you guys can have a look
The control's ascx file is below
and the handler from the code behind
this control is hosted inside another user control called BookEditionsControl
which in turn is inside a master page where the RadAjaxManager is hosted
The control's ascx file is below
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="BookEditionCompletionControl.ascx.cs" Inherits="ITN.Controls.ImdisList.BookEditionCompletionControl" %><telerik:RadAjaxManagerProxy runat="server" ID="RadAjaxManagerPRoxy1"> <AjaxSettings> <telerik:AjaxSetting AjaxControlID="btnAcceptReject"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="pnlControls" /> </UpdatedControls> </telerik:AjaxSetting> <telerik:AjaxSetting AjaxControlID="btnTranslationFinalized"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="pnlControls" UpdatePanelRenderMode="Inline" /> </UpdatedControls> </telerik:AjaxSetting> </AjaxSettings></telerik:RadAjaxManagerProxy><asp:HiddenField runat="server" ID="hdnEditedLanguageId" /><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><asp:RequiredFieldValidator ID="vldAcceptReject" ControlToValidate="btnAcceptReject" runat="server" CssClass="text-error" Text="please check an option" ValidationGroup="data"></asp:RequiredFieldValidator><asp:Panel runat="server" ID="pnlEditionTranslated" CssClass="checkboxlist" Visible="false"> <asp:RadioButtonList runat="server" ID="btnTranslationFinalized" RepeatDirection="Horizontal" CssClass="checkboxlist borderless" ValidationGroup="data" AutoPostBack="true" OnSelectedIndexChanged="radioButtonList_SelectedIndexChanged"> <asp:ListItem Text="Edition translation is hereby finalized." Value="0" Selected="True"></asp:ListItem> <asp:ListItem Text="Translation is still underway" Value="1"></asp:ListItem> </asp:RadioButtonList></asp:Panel><asp:Panel runat="server" ID="pnlControls"> <table class="table table-bordered level1"> <tbody> <tr> <td class="label-column"> <span>Edition Title</span> <span class="text-error">*</span> </td> <td class="data-cell"> <asp:TextBox ID="txtTitle" placeholder="The title in the specified edition language" data-description="Title of the edition" CssClass="compact-field required-input" runat="server" Width="1000" MaxLength="400" required="title required"></asp:TextBox> <asp:RequiredFieldValidator ID="vldTitle" ControlToValidate="txtTitle" runat="server" CssClass="text-error" Text="title required" ValidationGroup="data"></asp:RequiredFieldValidator> </td> </tr> <tr> <td class="label-column"> <span>Registration Date</span> <span class="text-error">*</span> </td> <td class="data-cell"> <asp:TextBox ID="dateIssue" placeholder="issue date" CssClass="compact-field datepicker readonly-enabled-looklike" runat="server" Width="100" data-date-format="dd/mm/yyyy" ReadOnly="true"></asp:TextBox> <asp:RequiredFieldValidator ID="vldIssueDate" runat="server" ControlToValidate="dateIssue" Text="issue date required" ValidationGroup="data" CssClass="text-error"></asp:RequiredFieldValidator> </td> </tr> <tr> <td class="label-column"> <span>Marketing Blurb</span> <span class="text-error">*</span> </td> <td class="data-cell"> <asp:TextBox ID="txtMarketingBlurb" placeholder="marketing blurb" CssClass="compact-field required-input" runat="server" Width="1000" MaxLength="400" TextMode="MultiLine" Height="80"></asp:TextBox> <asp:RequiredFieldValidator ID="vldMarketingBlurb" runat="server" ControlToValidate="txtMarketingBlurb" Text="Abstract of the publication required" ValidationGroup="data" CssClass="text-error"></asp:RequiredFieldValidator> </td> </tr> <tr> <td class="label-column"> <span>Abstract</span> <span class="text-error">*</span> </td> <td class="data-cell"> <asp:TextBox ID="txtAbstract" placeholder="excerpt of the publication" CssClass="compact-field required-input" runat="server" Width="1000" MaxLength="400" TextMode="MultiLine" Height="80"></asp:TextBox> <asp:RequiredFieldValidator ID="vldAsbtract" runat="server" ControlToValidate="txtAbstract" Text="Abstract required" ValidationGroup="data" CssClass="text-error"></asp:RequiredFieldValidator> </td> </tr> <tr> <td class="label-column"> <span>Number Of Pages</span> <span class="text-error star">*</span> </td> <td class="data-cell"> <asp:TextBox ID="txtPages" placeholder="pages" CssClass="compact-field text-right required-input" runat="server" Width="70" data-type="int" data-min="1"></asp:TextBox> <asp:RequiredFieldValidator ID="vldPages" runat="server" ControlToValidate="txtPages" Text="number of pages required" ValidationGroup="data" CssClass="text-error"></asp:RequiredFieldValidator> </td> </tr> <tr> <td class="label-column"> <span>Library Id</span> <span class="text-error">*</span> </td> <td class="data-cell"> <asp:TextBox ID="txtLibraryId" placeholder="library id" CssClass="compact-field required-input" runat="server" Width="400" MaxLength="10"></asp:TextBox> <asp:RequiredFieldValidator ID="vldLibraryId" ControlToValidate="txtLibraryId" runat="server" CssClass="text-error" Text="library Id required" ValidationGroup="data"></asp:RequiredFieldValidator> </td> </tr> <tr> <td class="label-column"> <span>Attached Documents</span> </td> <td class="data-cell"> <asp:Panel runat="server" ID="pnlDocumentsHost" CssClass="documents-host"> <div>No documents added.</div> </asp:Panel> </td> </tr> </tbody> </table> </asp:Panel>and the handler from the code behind
protected void radioButtonList_SelectedIndexChanged(object sender, EventArgs e) { bool accepted = (sender as RadioButtonList).SelectedValue == "0"; //disable/enable all controls based on whether the user validates or rejects the review txtTitle.Enabled = txtPages.Enabled = txtAbstract.Enabled = dateIssue.Enabled = txtLibraryId.Enabled = txtMarketingBlurb.Enabled = accepted; if (!accepted) txtTitle.Text = txtAbstract.Text = dateIssue.Text = txtLibraryId.Text = txtMarketingBlurb.Text = txtPages.Text= null; vldTitle.Enabled = vldIssueDate.Enabled = vldMarketingBlurb.Enabled = vldAsbtract.Enabled = vldLibraryId.Enabled = vldPages.Enabled = accepted; }this control is hosted inside another user control called BookEditionsControl
<asp:Repeater runat="server" ID="rptEditableEditions" OnItemDataBound="rptEditableEditions_ItemDataBound"> <ItemTemplate> <div class='bookEditionTab <%# Container.ItemIndex==0? "tab-pane active" : "tab-pane" %>' id='<%# Eval("Id") %>'> <input type="hidden" id='<%#"hdnLangEditable_"+Eval("Id") %>' value="1" /> <uc1:BookEditionCompletionControl runat="server" ID="BookEditionCompletion" WorkMode="<%# WorkMode %>" /> </div> </ItemTemplate> </asp:Repeater>which in turn is inside a master page where the RadAjaxManager is hosted
<telerik:RadAjaxManager runat="server" ID="RadAjaxManager1" DefaultLoadingPanelID="RadAjaxLoadingPanel1"> </telerik:RadAjaxManager> <uc1:BookEditionsControl runat="server" ID="BookEditions" WorkMode="Edit" />0
Princy
Top achievements
Rank 2
answered on 07 Nov 2013, 06:30 AM
Hi ck
,
I have tried your code unfortunately I couldn't replicate the issue at my end.
Thanks,
Princy.
I have tried your code unfortunately I couldn't replicate the issue at my end.
Thanks,
Princy.