私はタイトルが暴言のビットであることを知っています。私は登録フォームを持っていますが、氏名、姓などのユーザーからの詳細情報も受け取ります。アカウントを作成する前にどのようにユーザーIDを取得できますか?
アカウントコントローラーの登録メソッドの中で、メンバーオブジェクトを追加し、ただし、登録するアカウントのGUID(UserId)を「MemberId」として保存する必要があります。
ユーザは、このactionresultメソッドに入るためには、registerをクリックしなければならないが、プログラムフローがなくなるまでuserIdは作成されない。
登録されたアカウントのユーザーIDを取得するにはどうすればいいですか?どんな助けもありがとうございます。あいまいさを残して申し訳ありません。
public async Task<ActionResult> Register(RegisterForm model)
{
if (ModelState.IsValid)
{
var user = new ApplicationUser { UserName = model.RegisterViewModel.Email, Email = model.RegisterViewModel.Email };
var result = await UserManager.CreateAsync(user, model.RegisterViewModel.Password);
if (result.Succeeded)
{
await SignInManager.SignInAsync(user, isPersistent: false, rememberBrowser: false);
var members = new Members()
{
MemberId = new Guid(User.Identity.GetUserId()),
// Obviously the above returns null because there is no userId yet.
FirstName = model.Members.FirstName,
LastName = model.Members.LastName,
PhoneNumber = model.Members.PhoneNumber,
Role = model.Members.Role
};
_context.Members.Add(members);
_context.SaveChanges();
return RedirectToAction("Index", "Home");
}
AddErrors(result);
}
return View(model);
}
。 – DSR
ありがとう、UserManagerを使用してuserIdを返し、今すぐ動作します。 – Ralf