1

Есть несколько учебников для новых шаблонов MVC5, которые показывают, как легко добавлять новые поля в информацию профиля пользователя. Вот несколько я просмотрен:Как отображать пользовательские данные профиля с помощью шаблонов VS2013 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

Моя вторая ссылка только учебник, который даже упоминает отображения информации обратно, но учебник трудно следовать, и эта часть имеет так мало Информация.

Я хочу показать дату рождения пользователя на странице «Управление учетной записью» и, возможно, разрешить ее редактирование. Я попробовал следующее AccountControllers.cs: [HttpPost] Управление():

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> 

Как показать информацию, хранящуюся в базе данных?

ответ

1

Я исправил эту проблему легко, когда понял, что приложение никогда не ударит версию метода управления HttpPost до ее отправки. Я переместил его в метод управления по умолчанию, и код работает нормально.

Смежные вопросы