0
votes

Source Error:

Line 62:         <asp:CreateUserWizard ID="CreateUserWizard1"  // error appeared here 
Line 63:             runat="server" 
Line 64:             OnCreatedUser="CreateUserWizard1_CreatedUser" 

I had a createuserwizard. and if the user had wrong input in step 2, the event would be cancelled. I used e.cancel = true to do this. But it led to this error.

No overload for 'CreateUserWizard1_CreatedUser' matches delegate 'System.EventHandler'

Code behind:

protected void CreateUserWizard1_CreatedUser(object sender, System.Web.UI.WebControls.LoginCancelEventArgs e)
{    
   MSCaptcha.CaptchaControl Captcha1 = (CreateUserWizardStep1.ContentTemplateContainer.FindControl("Captcha1") as MSCaptcha.CaptchaControl);

   TextBox txtCaptcha = (TextBox)CreateUserWizardStep1.ContentTemplateContainer.FindControl("txtCaptcha");
   Label Captchalbl = (Label)CreateUserWizardStep1.ContentTemplateContainer.FindControl("Captchalbl");

   Response.Write(txtCaptcha.Text); 

   Captcha1.ValidateCaptcha(txtCaptcha.Text.Trim()); 

   if (!Captcha1.UserValidated)
   {               
       Captchalbl.Text = "InValid";
       Response.Write(Captchalbl.Text); 
       // Captchalbl.ForeColor = System.Drawing.Color.Red;
       e.Cancel = true;
   } 
   else
   {
       Captchalbl.Text = "Valid";
       Response.Write(Captchalbl.Text); 
       TextBox UserNameTextBox = (TextBox)CreateUserWizardStep1.ContentTemplateContainer.FindControl("UserName");
       SqlDataSource dataSource = (SqlDataSource)CreateUserWizardStep1.ContentTemplateContainer.FindControl("InsertExtraInfo");
       MembershipUser user = Membership.GetUser(UserNameTextBox.Text);  
       dataSource.InsertParameters.Add("UserId", user.ProviderUserKey.ToString());  
       dataSource.Insert();                   
   }
}

Here is the code :

<asp:CreateUserWizard ID="CreateUserWizard1"   //here is line 62 
        runat="server" 
        OnCreatedUser="CreateUserWizard1_CreatedUser"
        InvalidPasswordErrorMessage="Password length must be more than 8 characters." 
        ContinueDestinationPageUrl="~/Home.aspx" 
        DisplayCancelButton = "True" 
        CancelDestinationPageUrl="~/Home.aspx" 
        DisableCreatedUser="True" 
        OnSendingMail="CreateUserWizard1_SendingMail"
>
2

2 Answers

0
votes

You need to use the OnCreatingUser event.

    <asp:CreateUserWizard ID="CreateUserWizard1"   //here is line 62 
        runat="server" 
        OnCreatingUser="CreateUserWizard1_CreatedUser"
...

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.createuserwizard.oncreatinguser

0
votes

Markup:

OnCreatingUser="CreateUserWizard1_CreatingUser"
OnCreatedUser="CreateUserWizard1_CreatedUser"

Code-behind:

protected void CreateUserWizard1_CreatingUser(object sender, LoginCancelEventArgs e)
{
    // Occurs before the membership provider is called to create the new Web site user account
}

protected void CreateUserWizard1_CreatedUser(object sender, EventArgs e)
{
    // Occurs after the membership provider has created the new Web site user account
}