如何使用VS2013 MVC5模板显示自定义配置文件信息
本文关键字:显示 自定义 配置文件 信息 何使用 VS2013 MVC5 | 更新日期: 2023-09-27 18:36:53
有几个针对新 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]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);
}
使用此代码,当我在 Manage.cshtml 上显示它们时,我设置的 ViewBag 项都是空白
的<p>Birthdate is @ViewBag.BirthDate</p>
<p>ReturnURL is @ViewBag.ReturnUrl</p>
<p>UserName is @ViewBag.userName</p>
如何显示存储在数据库中的信息?
当我意识到应用程序在提交之前永远不会命中管理方法的 [HttpPost] 版本时,我很容易解决这个问题。我将其移动到默认的管理方法中,代码工作正常。