2012-04-22 7 views
0

asp.net 4.0のメンバシッププロバイダでCreateUserWizardコントロールを使用しています。メンバシッププロバイダasp.net 4.0のCreateUserWizardコントロールのフィールドのマッピングを変更します。

この場合、ユーザー名はaspnet_Usersテーブルの 'user name'フィールドに格納されます。

aspnet_Membershipテーブルの電子メールフィールドに「ユーザー名」フィールドを保存したい(私の場合、ユーザー名も電子メールです)。 つまり、これらのフィールドのマッピングを変更する必要があります。

どうすればいいですか?

注:私の問題はマッピングを変更する方法です。上記は唯一の例です

答えて

0

CreateUserWizardを使用する代わりにCreateUserメソッドを呼び出すことで簡単に達成できます。

<asp:TextBox ID="EmailTextBox" runat="Server" /> 
<asp:TextBox ID="PasswordTextBox" runat="Server" /> 
<asp:TextBox ID="PasswordQuestionTextBox" runat="Server" /> 
<asp:TextBox ID="PasswordAnswerTextBox" runat="Server" /> 

string username = EmailTextBox.text; // Same as email 
string password = PasswordTextBox.text; 
string email = EmailTextBox.text; 
string passwordQuestion = PasswordQuestionTextBox.text; 
string passwordAnswer = PasswordAnswerTextBox.text; 
bool isApproved = true; 

MembershipCreateStatus status; 

MembershipUser membershipUser = System.Web.Security.Membership.CreateUser(username, password, email, passwordQuestion, passwordAnswer, isApproved, out status); 

if (status != MembershipCreateStatus.Success) 
    throw new Exception(status.ToString()); 
関連する問題