0

私は今本当に混乱しています。この問題に対するいくつかの解決策を読んだことがありますが、すべてが異なります.... Web アプリケーション プロジェクトと Web サイト プロジェクトには異なる解決策が必要であると言う人もいます。

私が考えていること:

私はWebアプリケーションプロジェクトを持っています

UserProfileそのテーブルに、画像へのリンクなどの追加の列を格納するテーブルを作成しました。

私の問題はRegisterUser_CreatedUser、送信時に呼び出すと、新しく作成されたユーザーの Guid を取得する方法が見つからないことです。

 protected void RegisterUser_CreatedUser(object sender, EventArgs e)
 {
      FormsAuthentication.SetAuthCookie(RegisterUser.UserName, createPersistentCookie: false);

      TextBox ImageUrl = RegisterUserWizardStep.ContentTemplateContainer.FindControl("ImageUrl") as TextBox;

      UserProfile.SaveNewProfileInformation("place for new created user guid", ImageUrl.Text);

      string continueUrl = RegisterUser.ContinueDestinationPageUrl;

      if (!OpenAuth.IsLocalUrl(continueUrl))
      {
         continueUrl = "~/";
      }

      Response.Redirect(continueUrl);
}

新しく作成されたユーザーの GUID を取得するにはどうすればよいですか? そして、私はこの問題を解決するために正しい方向に進んでいますか?

4

1 に答える 1

1

UserName で作成されたユーザーを取得する必要があります

{
    FormsAuthentication.SetAuthCookie(RegisterUser.UserName, createPersistentCookie: false);

    //If user is created, get it by UserName
    MembershipUser createdUser = Membership.GetUser(RegisterUser.UserName);       
    Guid userID = new Guid(createdUser.ProviderUserKey.ToString());

    TextBox ImageUrl = RegisterUserWizardStep.ContentTemplateContainer.FindControl("ImageUrl") as TextBox;

    //Use the userID from the above code
    UserProfile.SaveNewProfileInformation(userID, ImageUrl.Text);
}
于 2013-05-02T17:35:38.147 に答える