Я потратил пару часов, пытаясь найти ответ на этот вопрос, и хотя по всей сети есть учебники, ни один из них не работает для меня (или я слишком неуверен, чтобы понять, что они говорят мне. ..)
Во всяком случае, я создаю пользователей в asp.net, используя членство. Я хочу добавить сгенерированный UserId в столбец созданной мной пользовательской таблицы, чтобы связать материал пользовательской таблицы с пользователем, созданным в aspnet_Users.
Вот код, который я получил для кнопки отправки регистрации:
Private Sub submit_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles submit.Click
Dim connectionString As String = WebConfigurationManager.ConnectionStrings("edinsec").ConnectionString
Dim createStatus As MembershipCreateStatus
Membership.CreateUser(fname.Text, password.Text, email.Text, sq.Text, sa.Text, False, createStatus)
''#Something has to happen here!
Dim insertSQL As String
insertSQL = "INSERT INTO clients (UserId)"
insertSQL &= "VALUES (@userId)"
Using con As New SqlConnection(connectionString)
Dim cmd As New SqlCommand(insertSQL, con)
cmd.Parameters.AddWithValue("@firstname", firstname.Text)
Try
Try
con.Open()
Catch ex As SqlException
MsgBox("Connection Problem - Please Retry Later", 65584, "Connection Error")
End Try
cmd.ExecuteNonQuery()
MsgBox("Thank you for joining us - we will be in touch shortly.", 65600, "Join Up")
Response.Redirect("Default.aspx")
Catch Err As SqlException
MsgBox("Error inserting record - please retry later.", 65584, "Insertion Error")
End Try
con.Close()
End Using
End Sub
Как видите, я пытаюсь получить сгенерированный Членством идентификатор пользователя и вставить его в таблицу клиентов. Я пробовал множество подходов к захвату UserId, но ни один из них не работает.
Членство работает для создания пользователя, это просто часть, на которой я застрял.
Любая помощь будет высоко ценится:)