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?