Link to home
Start Free TrialLog in
Avatar of Robert Treadwell
Robert TreadwellFlag for United States of America

asked on

CreateUser not forwarding to next step

I created a registration process that includes capturing user fullname and assigning a role.  When user presses the 'Create User' button, Two events are called 1) the CreatingUser - validates the baisc user information, the other information had been validated on previous steps (1 & 2).  2) Event is the CreatedUser - this event adds additional information to the a unique table, followed by sending captured values to a summary page.

My Problem, Steps 1 & 2 are completed successfully, The new user is even logged in, and activeindexstep is set to (Me.CompleteWizardStep3) however I am not going to summary step it returns to the CreateUserWizard Step.

Some of my troubleshooting:
1)  I've taken out all data capturing or sending to summary page - NoGo
2)  In stead of setting active index with Me.CompleteWizardStep3, I substituted that with the number 3 and even 4 to see if I could produce an error - NoGo
3)  Placed error trapping throughout this part of the code - NoGo

Are there any other suggestion, any thoughts are appreciated.
Protected Sub CreateUserWizard1_CreatedUser(ByVal sender As Object, ByVal e As EventArgs)
        'Insert Data into table and Add other pertinent data
        Dim UserNameTextBox As TextBox = CreateUserWizardStep2.ContentTemplateContainer.FindControl("UserName")
        Dim createDate As Date = DateTime.Now.ToString("MM/dd/yy")

        'Dim rowsAffected As Integer
        Dim rIdentity As Integer = -1
        Try
            Dim myConnectionString As String
            Dim myQuery As String
            Dim myConnection As SqlConnection
            Dim cmd As SqlCommand

            myConnectionString = "Data Source=SERVERIP;Initial Catalog=aspnetdb; User Id=USERID; Password=PASSWORD;"
            myQuery = "INSERT INTO aspnet_UserName (UserName, Firstname, Lastname, Prefixname, Suffixname, Nickname, " _
                & "CreateDate, AccountStatus, OrgNameID) VALUES ('" _
                & UserNameTextBox.Text & "', '" & Firstname.Text & "', '" & Lastname.Text & "', '" & PrefixnameDDL.Text & "', '" _
                & Suffix.Text & "', '" & Nickname.Text & "', '" & createDate & "', 'Enabled', '" _
                & getOrgNameID(OrganizationDDL.Text) & "') SELECT SCOPE_IDENTITY();"
            myConnection = New SqlConnection(myConnectionString)
            myConnection.Open()
            cmd = New SqlCommand(myQuery, myConnection)
            'rowsAffected = cmd.ExecuteNonQuery()
            rIdentity = Integer.Parse(cmd.ExecuteScalar().ToString()) 'Get the @Identity Column
            myConnection.Close()

        Catch ex As Exception
            ClientScript.RegisterStartupScript(Me.GetType(), "alert", "<script language='javascript'>alert('CreateUserWizard1_CreatedUser produce the following error: " + ex.Message + "');</script>")
            Response.Write(ex.Message)
        End Try

        'Call the Summary Sub-Routine
        setSummaryPage()

        Dim UserNameTB As TextBox = CType(CreateUserWizardStep2.ContentTemplateContainer.FindControl("UserName"), TextBox)
        'Place user name in as a session variable so the name can be access on the Entity Home page
        Session.RemoveAll()
        Session("authUserName") = UserNameTB.Text

        'Set Next Step
        Try
            If CreateUserWizard1.WizardSteps.IndexOf(Me.CompleteWizardStep3) > 3 Then
                Throw New ArgumentOutOfRangeException("Index", "Index is out of range")
            End If
            CreateUserWizard1.ActiveStepIndex = CreateUserWizard1.WizardSteps.IndexOf(Me.CompleteWizardStep3)

            'ClientScript.RegisterStartupScript(Me.GetType(), "alert", "<script language='javascript'>alert('" + CreateUserWizard1.ActiveStepIndex.ToString + "');</script>")
        Catch aEx As ArgumentOutOfRangeException
            Response.Write(aEx.Message)
        End Try

    End Sub


SUMMARY SUBROUTINE:

 Protected Sub setSummaryPage()
        'Populate Basic user information before displaying Summary page
        Try
            If CreateUserWizard1.ActiveStepIndex = 2 Then
                Dim UserNameTB As TextBox = CType(CreateUserWizardStep2.ContentTemplateContainer.FindControl("UserName"), TextBox)
                Dim PasswordTB As TextBox = CType(CreateUserWizardStep2.ContentTemplateContainer.FindControl("Password"), TextBox)
                Dim SecurityQuestionTB As DropDownList = CType(CreateUserWizardStep2.ContentTemplateContainer.FindControl("QuestionDDL"), DropDownList)
                Dim SecurityAnswerTB As TextBox = CType(CreateUserWizardStep2.ContentTemplateContainer.FindControl("Answer"), TextBox)
                Dim SecurityEmailTB As TextBox = CType(CreateUserWizardStep2.ContentTemplateContainer.FindControl("Email"), TextBox)
                'Set fields
                Dim UserNameLb As Label = CType(CompleteWizardStep3.FindControl("UserNameEntry"), Label)
                Dim PasswordLb As Label = CType(CompleteWizardStep3.FindControl("PasswordEntry"), Label)
                Dim SecurityQuestionLb As Label = CType(CompleteWizardStep3.FindControl("SecurityQuestionEntry"), Label)
                Dim SecurityAnswerLb As Label = CType(CompleteWizardStep3.FindControl("SecurityAnswerEntry"), Label)
                Dim SecurityEmailLb As Label = CType(CompleteWizardStep3.FindControl("SecurityEmailEntry"), Label)

                UserNameLb.Text = UserNameTB.Text
                PasswordLb.Text = PasswordTB.Text
                SecurityQuestionLb.Text = SecurityQuestionTB.Text
                SecurityAnswerLb.Text = SecurityAnswerTB.Text
                SecurityEmailLb.Text = SecurityEmailTB.Text

                'Assing user to Role
                AssignUserToRoles_Deactivate()
            End If
        Catch ex As Exception

            ClientScript.RegisterStartupScript(Me.GetType(), "alert", "<script language='javascript'>alert('Populating User Summary Information produce the following error: " + ex.Message + "');</script>")
            Response.Write(ex.Message)
        End Try

    End Sub

Open in new window

Avatar of guru_sami
guru_sami
Flag of United States of America image

So what is the order of Steps?
If your summary is a wizard step after CreateUserStep, it should be activated by itself.
Check if this video helps:
http://www.asp.net/general/videos/how-do-i-secure-my-site-using-membership-and-roles
You are interested in starting at 10th minute.

or this article: http://weblogs.asp.net/scottgu/archive/2005/10/18/427754.aspx
Avatar of Robert Treadwell

ASKER

Thank you for the linked resources I used those or ones like them.  The number of steps are 4:
Step 0 - Capture Fullname ,
Step 1 - Capture Role,
Step 2 - Capture username, password and security Q&A,
Step 3 - Summarry Page

The reason I placed the ActiveStepIndex line 45 in my code because Step 2 was not forwarding to Step 3.
And
Even with line 45 it is still not forwarding.
ASKER CERTIFIED SOLUTION
Avatar of guru_sami
guru_sami
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial