所以我有一个 ASP.NET MVC 5 应用程序。当您登录时,您可以单击显示“Hello, !”的链接。并且您可以看到管理 View ,这是由使用 IndexViewModel 的模板创建的默认页面。
我通过添加
成功地让它显示了用户的电子邮件public string Email { get; set; }
在 IndexViewModel 中,然后在 ManageController 中
var model = new IndexViewModel
{
HasPassword = HasPassword(),
PhoneNumber = await UserManager.GetPhoneNumberAsync(userId),
TwoFactor = await UserManager.GetTwoFactorEnabledAsync(userId),
Logins = await UserManager.GetLoginsAsync(userId),
BrowserRemembered = await AuthenticationManager.TwoFactorBrowserRememberedAsync(userId),
Email = await UserManager.GetEmailAsync(userId)
};
但这很容易,因为 UserManager 已经有一个名为 GetEmailAsync 的任务。除了我添加的其余字段之外,我如何才能像这样从数据库中检索数据? (用户由 RegisterStudentViewModel 创建) 我试图创建另一个任务,但没有成功。我将如何解决这个问题?我希望他们能够看到他们的详细信息,甚至可以对其进行编辑(例如更改已经存在的电话号码)
最佳答案
您可以按如下方式加载整个用户实体:
var user = UserManager.Users.FirstOrDefault(u => u.Id == userId);
从那里,您可以对用户做任何您喜欢的事情。
或者,使用 FindById(userId)
:
var user = UserManager.FindById(userId);
关于c# - ASP.NET Identity 在管理 View 中检索和编辑用户数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36795289/