The Problem: Is to set CreateUserButton of <asp:CreateUserWizardas> as a DefaultButton of a <asp:Panel>. What to write in place of question marks of the next script?
<asp:Panel runat="server" ID="WizardPanel" DefaultButton="???????????????!!!!!!!!!!?">
<asp:CreateUserWizard ID="RegisterUser" runat="server" Width="449px" .......
.........................
<input type="submit" name="ctl00$ContentForm$RegisterUser$__CustomNav0$StepNextButtonButton" value="موافق" onclick="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("ctl00$ContentForm$RegisterUser$__CustomNav0$StepNextButtonButton", "", true, "RegisterUser", "", false, false))" id="ctl00_ContentForm_RegisterUser___CustomNav0_StepNextButtonButton" class="myButton" />
</asp:CreateUserWizard>
</asp:Panel>
[*]--------------------------------------------------------------------------------------------------
The following are some approaches that don't succeed: ... but number 4 is succeeded.
[1]--------------------------------------------------------------------------------------------------
Panel1.DefaultButton = ((Button)RegisterUserStep1.CustomNavigationTemplateContainer.FindControl("StepNextButton")).ID;
Description:
Try to set DefaultButton programatically, but FindControl() returns nothing.
[2]--------------------------------------------------------------------------------------------------
LookForDefaultButton(this.RegisterUser.Controls);
protected bool LookForDefaultButton(ControlCollection collection)
{
foreach (Control ctrl in collection)
{
if (ctrl.GetType() == typeof(Button) && (ctrl as Button).ID == "StepNextButton1")
{
this.WizardPanel.DefaultButton = ctrl.UniqueID;
return true;
}
else
if (LookForDefaultButton(ctrl.Controls))
return true;
}
return false;
}
Description:
Try to set DefaultButton programatically, but <asp:Panel> issued exception of IButtonControl required.
[3]--------------------------------------------------------------------------------------------------
<asp:Button ID="RegisterPanel" runat="server" style="display:none;"
ValidationGroup="RegisterUser"
CausesValidation="true"
OnClientClick="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("ctl00$ContentForm$RegisterUser$__CustomNav0$StepNextButtonButton", "", true, "RegisterUser", "", false, false)); return;"
/>
Description:
Try to Invok "WebForm_DoPostBackWithOptions" statment through a brooker button "RegisterUser", but causes a lot of problems with validation and postback.
[4]--------------------------------------------------------------------------------------------------
<div id="ctl00_ContentForm_WizardPanel" onkeypress="javascript:return WebForm_FireDefaultButton(event, 'ctl00_ContentForm_RegisterUser___CustomNav0_StepNextButtonButton')">
Description:
Use <div> instead of <asp:Panel> to do the same job "Invoking WebForm_FireDefaultButton() at client" without a brooker button. All validation and postback done without any problem.