c# - ASP.NET Identity 在管理 View 中检索和编辑用户数据?

标签 c# asp.net asp.net-mvc asp.net-identity

所以我有一个 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/

相关文章:

.net - ASP.NET MVC : Best way to get form checkboxes into many-to-many DB assoc table with LINQ To SQL?

c# - 远程验证显示红框但没有错误信息? ASP-MVC 5

c# - 如何将一系列名称分成不同的行

c# - 我如何使用 JSON.Net 解析它?

javascript - 单击 .aspx 页面中的 h4 时隐藏/显示列表项

javascript - 为什么 javascript 行必须在函数中才能工作?

c# - 如何将当前运行的程序集复制到 Windows 启动项

c# - Selenium 2 StaleElementReferenceException 使用 DropDownList 与 AutoPostBack 与 InternetExplorerDriver

c# - 如何选择 GridView 中某一特定列中的所有复选框?

asp.net - 如何在 Azure 应用服务上安装 VC++ 2010 Redistributable