내가 당신의 register.aspx 페이지
을에서
Microsoft Visual Studio Express 2013 For Web
를 사용하고 사용자 마법사 &을 만드는 사용자 정의하는 방법을 보여주는거야입니다
<asp:CreateUserWizard ID="CreateUserWizard1" runat="server" OnCreatedUser="CreateUserWizard1_CreatedUser" CreateUserButtonText="Submit">
<WizardSteps>
<asp:CreateUserWizardStep ID="CreateUserWizardStep" runat="server">
<ContentTemplate>
<table>
<tr>
<td>User name:
</td>
<td>
<asp:TextBox ID="UserName" runat="server"></asp:TextBox>
</td>
</tr>
<tr>
<td>Password:
</td>
<td>
<asp:TextBox ID="Password" runat="server" TextMode="Password"></asp:TextBox></td>
</tr>
<tr>
<td>Confirm Password:</td>
<td><asp:TextBox ID="ConfirmPassword" runat="server" TextMode="Password"></asp:TextBox>
</td>
</tr>
<tr class="form-group">
<td>E-mail:
</td>
<td >
<asp:TextBox ID="Email" runat="server" TextMode="Email"></asp:TextBox>
</td>
</tr>
<tr>
<td>First Name:
</td>
<td>
<asp:TextBox ID="FirstName" runat="server"></asp:TextBox>
</td>
</tr>
<tr>
<td>Last Name:
</td>
<td>
<asp:TextBox ID="LastName" runat="server"></asp:TextBox>
</td>
</tr>
</table>
</ContentTemplate>
</asp:CreateUserWizardStep>
<asp:CompleteWizardStep runat="server"></asp:CompleteWizardStep>
</WizardSteps>
</asp:CreateUserWizard>
그리고 당신의 Register.aspx.cs 파일 뒤에 CreateUserWizard1_CreatedUser
코드이 코드를 사용
var manager = new UserManager();
var user = new ApplicationUser() { UserName = CreateUserWizard1.UserName };
IdentityResult result = manager.Create(user, CreateUserWizard1.Password);
// Get the UserId of the just-added user
MembershipUser newUser = Membership.GetUser(CreateUserWizard1.UserName);
Guid newUserId = (Guid)newUser.ProviderUserKey;
//Get Profile Data Entered by user in Create User Wizard control
String FirstName = ((TextBox)CreateUserWizard1.CreateUserStep.ContentTemplateContainer.FindControl("FirstName")).Text;
String LastName = ((TextBox)CreateUserWizard1.CreateUserStep.ContentTemplateContainer.FindControl("LastName")).Text;
// Insert a new record into User_Profile
// Get your Connection String from the web.config. MembershipConnectionString is the name I have in my web.config
string connectionString = ConfigurationManager.ConnectionStrings["yourConnectionstring"].ConnectionString;
string insertSql = "INSERT INTO yourDBTableName(dbTcolumn,dbTcolumn, dbTcolumn) values(@dbTcolumn, @dbTcolumn)";
using (SqlConnection myConnection = new SqlConnection(connectionString))
{
IdentityHelper.SignIn(manager, user, isPersistent: false);
myConnection.Open();
SqlCommand myCommand = new SqlCommand(insertSql, myConnection);
myCommand.Parameters.AddWithValue("@dbTcolumn", FirstName);
myCommand.Parameters.AddWithValue("@dbTcolumn", LastName);
myCommand.Parameters.AddWithValue("@dbTcolumn", newUserId);
myCommand.ExecuteNonQuery();
myConnection.Close();
}
여기서는 내가 using RequiredFieldValidator
이 아닙니다. 당신이 사용하려는 경우, 그냥 Register.aspx 페이지이 울부 짖는 소리 섹션
<asp:RequiredFieldValidator Display="Dynamic" ID="RequiredFieldValidator4" runat="server"
ControlToValidate="FirstName" ErrorMessage="The user name field is required." ValidationGroup="CreateUserWizard1"></asp:RequiredFieldValidator>
를 사용하고 Register.aspx.cs에 if (result.Succeeded)
뒤에 CreateUserWizard1_CreatedUser
코드를 추가
나는 희망이 당신에게 도움은 사용자 만들기 마법사 사용자 정의됩니다 .
감사합니다.
감사합니다. Candie. 실제로 내가하려는 일입니다. 문제는 CreateUserWizard가 실행되고 (이벤트) 사용자가 생성되고 그 시점에서 필요한 모든 정보가 필요할 때입니다. – Mario
당신을 도와 드리겠습니다. 마리오, 포스트 백 및 유효성 검사를 제어하기 위해 유효성 검사기를 단추 및 유효성 검사기에서 사용할 수 있습니다. –