2

ユーザーのプロファイル情報に新しいフィールドを簡単に追加する方法を示す、新しい MVC5 テンプレートのチュートリアルがいくつかあります。ここに私が見たカップルがあります:

http://www.asp.net/mvc/tutorials/mvc-5/create-an-aspnet-mvc-5-app-with-facebook-and-google-oauth2-and-openid-sign-on

http://blogs.msdn.com/b/webdev/archive/2013/10/16/customizing-profile-information-in-asp-net-identity-in-vs-2013-templates.aspx

私の 2 番目のリンクは、情報を表示することさえ言及している唯一のチュートリアルですが、チュートリアルに従うのは難しく、その部分の情報はほとんどありません。

アカウントの管理ページにユーザーの生年月日を表示し、編集できるようにしたいと考えています。AccountControllers.cs:[HttpPost]Manage() で次のことを試しました。

if (ModelState.IsValid)
{
    var currentUserID = User.Identity.GetUserId();
    var manager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(new ApplicationDbContext()));
    var currentUser = manager.FindById(User.Identity.GetUserId());
    ViewData.Add("userName", currentUser.UserName);
    ViewData.Add("BirthDate", currentUser.BirthDate);
}

このコードを使用して、設定した ViewBag アイテムを Manage.cshtml に表示すると、両方とも空白になります。

<p>Birthdate is @ViewBag.BirthDate</p>
<p>ReturnURL is @ViewBag.ReturnUrl</p>
<p>UserName is @ViewBag.userName</p>

データベースに保存されている情報を表示するにはどうすればよいですか?

4

1 に答える 1