0

私は、(CreateUserWizard コントロールを使用して) ユーザーを作成するタスクを取得したプロジェクトに取り組んでいます。SQL Server データベースの特定のテーブルにユーザーを保存する必要があります。

また、(Login コントロールを使用して) ログインを作成し、ログインが認証された後、プロファイル情報を保持する必要があります。

ここまでで、ProfileBase を継承した CustomProfile を作成しました。また、3 つの aspx ページを作成しました。

  1. ログイン.aspx
  2. CreateUser.aspx
  3. デフォルト.aspx

私の CustomProfile は次のようになります。

public class UserProfile : ProfileBase
{
    static public UserProfile CurrentUser
    {
        get
        {
            return (UserProfile)(ProfileBase.Create(Membership.GetUser().UserName));
        }
    }

    public string FirstName
    {
        get { return (string)base["FirstName"]; }
        set { base["FirstName"] = value; Save(); }
    }


    public string LastName
    {
        get { return (string)base["LastName"]; }
        set { base["LastName"] = value; Save(); }
    }

    public DateTime DateOfBirth
    {
        get { return (DateTime)base["DateOfBirth"]; }
        set { base["DateOfBirth"] = value; Save(); }
    }

    public ContactInfo Contact
    {
        get { return (ContactInfo)base["Contact"]; }
        set { base["Contact"] = value; Save(); }
    }
}

私は使用aspnet_regsql.exeしており、SQLサーバーに複数のテーブルを作成し、それらのテーブルにデータを保存しており、正常に動作しています。情報をテーブルに保存したいと思います。tblUserInfo. どのように進めればよいですか?複数のフォーラムをチェックしましたが、うまくいきませんでした。

どんな助けでも大歓迎です。

4

1 に答える 1

1

まず、aspnet_regsql.exe が古くなっています。ASP.Net Universal Providersの使用を検討することをお勧めします。

あなたの質問は、情報を私のテーブルに保存することだと思います。tblUserInfo

CreateUserWizard を使用する代わりに、ユーザー情報を自分で収集して保存することができます。

1. tblUserInfo テーブルの作成 (ASP.Net プロファイルの代替ソリューション)

2. ユーザー作成後の tblUserInfo への UserInfo の挿入

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

string username = UsernameTextBox;  
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()); 

// Save the rest of the user info to tblUserInfo with userId
Guid userId = (Guid)membershipUser.ProviderUserKey;

3.ログインユーザーが UserInfo を利用できるようにする方法は?

于 2012-05-10T20:49:01.287 に答える