我有以下POST
方法来保存编辑用户详细信息:
[HttpPost]
[ValidateAntiForgeryToken]
public async Task<ActionResult> Edit_User(EditUserViewModel editUser, HttpPostedFileBase upload)
{
var store = new UserStore<ApplicationUser>(new DBEntities());
try
{
if (ModelState.IsValid)
{
var user = await UserManager.FindByIdAsync(editUser.Id);
if (user == null)
{
return HttpNotFound();
}
user.UserName = editUser.UserName;
user.Email = editUser.Email;
...
// update the user information
await UserManager.UpdateAsync(user);
var ctx = store.Context;
ctx.SaveChanges();
return RedirectToAction("Method", "Controller");
}
}
catch (Exception ex)
{
return View(editUser);
}
return View(editUser);
}
但是在这里,一旦将数据保存在 AspNetUser 表中,我就不会收到任何错误,它会跳到捕获异常。
如何正确保存此编辑用户详细信息?
您是否使用以下方法更改了密钥:http://www.asp.net/identity/overview/extensibility/change-primary-key-for-users-in-aspnet-identity
其中包含以下步骤。你需要确保你得到每一个正确的。
更改标识用户类中的密钥类型添加使用密钥类型的自定义标识类更改上下文类和用户管理器以使用键类型更改启动配置以使用密钥类型对于带有更新 2 的 MVC,请更改帐户控制器以传递密钥类型对于带有更新 3 的 MVC,请更改帐户控制器和管理控制器以传递密钥类型