I have a wizard, Regular ASP.NET for a custom sign up process as the Membership version did not fit the bill. One of the last steps includes a process to register several contacts to associate with the primary account. I wrote a User Control with basic fields for gather Name, Address, City and regular drop down for the State which utilizes a RequiredFieldValidator. This user control utilizes the RadInputManager for controlling the validation.
Here is the User Control markup:
Step 1 of the wizard uses this control and works fine since only 1 instance of the user control is used. Validation occurs as it should.
Step 2 has an optional step to gather up a contact's beneficiary information. It is optional in the sense that some users choose to set it up later or can choose from a list of supplied Trust Attorneys. if they opt in then I enabled the User control and its subsequent validations. This works fine too.
Step 3 has an optional step to gather secondary beneficiaries information. This is where I am scratching my head. (See Markup)
Somewhere along the line one (or more) of these is failing/doing something unintentional. During Page Load I disable all of the radpanelitems featuring this User Control (ClientUC). I also parse the controls and disabled the RadInputManager as well as the RequiredFieldValidator within them.
The Result I get is that I am unable to navigate forward even if i add (basically enable the user control) 0 beneficiaries. The Next button does not postback. I have added to the user control client side "OnError" functions to the RadInputManager however all 5 RIMs never hit the event (not sure why). I need a method that will tell me which validator is locking up the postback and how to properly address it. I can however postback using the previous button.
What am I missing?
Here is the User Control markup:
<asp:Panel ID="pnlClient" runat="server"> <asp:TextBox ID="tbClientName" runat="server"></asp:TextBox> <span class="width500"> <asp:TextBox ID="tbAddress1" runat="server"></asp:TextBox> </span> <br /> <span class="width250"> <asp:TextBox ID="tbAddress2" runat="server"></asp:TextBox> </span> <br /> <span class="width250"> <asp:TextBox ID="tbCity" runat="server"></asp:TextBox> </span> <br /> <asp:DropDownList ID="ddlState" runat="server" DataSourceID="EntityDS_StateProvince" DataTextField="Name" DataValueField="Id" AppendDataBoundItems="true"> <asp:ListItem Text="[Resident State]" Value="ZZ"></asp:ListItem> </asp:DropDownList> <asp:RequiredFieldValidator ID="rfvStateProvince" runat="server" EnableViewState="true" EnableClientScript="true" ControlToValidate="ddlState" Display="Static" Enabled="true" ErrorMessage="Valid State is required." InitialValue="ZZ" /> <br /> <span class="width125"> <asp:TextBox ID="tbZip" runat="server"></asp:TextBox> </span><span class="width300"> <asp:TextBox ID="tbLetterName" runat="server"></asp:TextBox> </span> <br /> <span class="width500"> <asp:TextBox ID="tbEmail" runat="server"> </asp:TextBox></span> <telerik:RadInputManager ID="rimClient" runat="server"> <telerik:TextBoxSetting BehaviorID="tbbClientName" EmptyMessage="Name" ErrorMessage="Name required." Validation-IsRequired="true"> <TargetControls> <telerik:TargetInput ControlID="tbClientName" /> </TargetControls> </telerik:TextBoxSetting> <telerik:TextBoxSetting BehaviorID="tbbAddress1" EmptyMessage="Address 1" ErrorMessage="Address is required." Validation-IsRequired="true"> <TargetControls> <telerik:TargetInput ControlID="tbAddress1" /> </TargetControls> </telerik:TextBoxSetting> <telerik:TextBoxSetting BehaviorID="tbbAddress2" EmptyMessage="Address 2" Validation-IsRequired="false"> <TargetControls> <telerik:TargetInput ControlID="tbAddress2" /> </TargetControls> </telerik:TextBoxSetting> <telerik:TextBoxSetting BehaviorID="tbbCity" EmptyMessage="City" ErrorMessage="City is required" Validation-IsRequired="true"> <TargetControls> <telerik:TargetInput ControlID="tbCity" /> </TargetControls> </telerik:TextBoxSetting> <telerik:TextBoxSetting BehaviorID="tbbZip" EmptyMessage="Zip" ErrorMessage="Zip is required" Validation-IsRequired="true"> <TargetControls> <telerik:TargetInput ControlID="tbZip" /> </TargetControls> </telerik:TextBoxSetting> <telerik:TextBoxSetting BehaviorID="tbbContactName" EmptyMessage="Contact Client" ErrorMessage="Contact Client required" Validation-IsRequired="true"> <TargetControls> <telerik:TargetInput ControlID="tbLetterName" /> </TargetControls> </telerik:TextBoxSetting> <telerik:RegExpTextBoxSetting BehaviorID="tbbEmail" EmptyMessage="Email" ValidationExpression="^\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$" ErrorMessage="Invalid Email" Validation-IsRequired="true"> <TargetControls> <telerik:TargetInput ControlID="tbEmail" /> </TargetControls> </telerik:RegExpTextBoxSetting> </telerik:RadInputManager> <asp:EntityDataSource ID="EntityDS_State" runat="server" ConnectionString="name=LUEntities" DefaultContainerName="LUEntities" EnableFlattening="False" EntitySetName="StateProvinces" Where="s.ID != 'ZZ'"> </asp:EntityDataSource></asp:Panel>Step 1 of the wizard uses this control and works fine since only 1 instance of the user control is used. Validation occurs as it should.
Step 2 has an optional step to gather up a contact's beneficiary information. It is optional in the sense that some users choose to set it up later or can choose from a list of supplied Trust Attorneys. if they opt in then I enabled the User control and its subsequent validations. This works fine too.
Step 3 has an optional step to gather secondary beneficiaries information. This is where I am scratching my head. (See Markup)
Somewhere along the line one (or more) of these is failing/doing something unintentional. During Page Load I disable all of the radpanelitems featuring this User Control (ClientUC). I also parse the controls and disabled the RadInputManager as well as the RequiredFieldValidator within them.
<asp:WizardStep ID="Step_SecondBen" StepType="Step" Title="Secondary Beneficiaries"> <telerik:RadAjaxPanel ID="rapBeneficiaries" runat="server" LoadingPanelID="RadAjaxLoadingPanel1"> <telerik:RadButton ID="AddBen" runat="server" Text="Add" OnClick="AddBen_Click" AutoPostBack="true" CausesValidation="false"> </telerik:RadButton> <telerik:RadPanelBar runat="server" ID="rpbBenList" ExpandMode="FullExpandedItem" OnItemClick="rpbBenList_ItemClick" Width="100%" Height="300px" CausesValidation="false"> <Items> <telerik:RadPanelItem Text="Beneficiary 1" Expanded="true"> <Items> <telerik:RadPanelItem> <ItemTemplate> <uc1:clientuc id="Beneficiary1" runat="server" /> </ItemTemplate> </telerik:RadPanelItem> </Items> </telerik:RadPanelItem> <telerik:RadPanelItem Text="Beneficiary 2"> <Items> <telerik:RadPanelItem> <ItemTemplate> <uc1:clientuc id="Beneficiary2" runat="server" /> </ItemTemplate> </telerik:RadPanelItem> </Items> </telerik:RadPanelItem> <telerik:RadPanelItem Text="Beneficiary 3"> <Items> <telerik:RadPanelItem> <ItemTemplate> <uc1:clientuc id="Beneficiary3" runat="server" /> </ItemTemplate> </telerik:RadPanelItem> </Items> </telerik:RadPanelItem> <telerik:RadPanelItem Text="Beneficiary 4"> <Items> <telerik:RadPanelItem> <ItemTemplate> <uc1:clientuc id="Beneficiary4" runat="server" /> </ItemTemplate> </telerik:RadPanelItem> </Items> </telerik:RadPanelItem> <telerik:RadPanelItem Text="Beneficiary 4"> <Items> <telerik:RadPanelItem> <ItemTemplate> <uc1:clientuc id="Beneficiary4" runat="server" /> </ItemTemplate> </telerik:RadPanelItem> </Items> </telerik:RadPanelItem> </Items> </telerik:RadPanelBar> </telerik:RadAjaxPanel></asp:WizardStep>The Result I get is that I am unable to navigate forward even if i add (basically enable the user control) 0 beneficiaries. The Next button does not postback. I have added to the user control client side "OnError" functions to the RadInputManager however all 5 RIMs never hit the event (not sure why). I need a method that will tell me which validator is locking up the postback and how to properly address it. I can however postback using the previous button.
What am I missing?