Robert Treadwell
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.
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
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.
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
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
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