修改用户不能修改Id及用户名所以创建视图模型时需要去除,新增用户跟修改用户基本视图一直,所以不再做演示

一、新建UpdateUserViewModel视图模型

using System.ComponentModel;
using System.ComponentModel.DataAnnotations; namespace Shop.ViewModel
{
public class UpdateUserViewModel
{
[EmailAddress(ErrorMessage = "邮箱格式不正确")]
[DisplayName("邮箱")]
public string Email { get; set; } [DisplayName("手机号")]
[MinLength(11, ErrorMessage = "手机位数不足11位"), StringLength(11)]
public string PhoneNumber { get; set; } [Required(ErrorMessage = "密码不能为空")]
[DataType(DataType.Password)]
[DisplayName("密码")]
public string PasswordHash { get; set; }
}
}

二、修改用户方法

[HttpPost]
public async Task<IActionResult> EditUser(string id, UpdateUserViewModel input)
{
  //查询是否存在用户
var user = await _userManager.FindByIdAsync(id);
if (user != null)
{
user.Email = input.Email;
user.PhoneNumber = input.PhoneNumber;
//密码为空则不修改密码
if (input.PasswordHash != null)
{
user.PasswordHash = _userManager.PasswordHasher.HashPassword(user, input.PasswordHash);
}
//更新用户
var result = await _userManager.UpdateAsync(user);
if (result.Succeeded)
{
return RedirectToAction("Index");
}
}
return View(input);
}

三、删除用户

public async Task<IActionResult> Delete(string id)
{
var user = await _userManager.FindByIdAsync(id);
if (user != null)
{
var result = await _userManager.DeleteAsync(user);
if (result.Succeeded)
{
return RedirectToAction("Index");
}
}
return StatusCode(403);
}

最新文章

  1. [SQL] SQL 基础知识梳理(五) - 复杂查询
  2. iOS 获取当前点击的坐标
  3. iOS开发中的各种错误
  4. ext3grep 模拟恢复删除文件
  5. Git自动部署
  6. 动态加载JS
  7. fuel3.2安装
  8. 一类最小割bzoj2127,bzoj2132 bzoj3438
  9. 通过JavaScript判断当前浏览器版本
  10. 大数据之HBase
  11. python的历史与优劣
  12. Angular2.js——表单(下)
  13. hdu 5398 动态树LCT
  14. [计算机视觉]100行python实现摄像机偏移、抖动告警
  15. spring mvc接收ajax提交的JSON数据,并反序列化为对象
  16. 使用Date和SimpleDateFormat类表示时间
  17. [BOOK] Applied Math and Machine Learning Basics
  18. CO15批次确定,标准的太蛋疼了
  19. Solr——从postgresql数据库导入数据
  20. 按键精灵与逍遥安卓ADB连接重键方法

热门文章

  1. git 提代码时的相关命令,Mark一下
  2. Python中比较运算符连用的语法规则
  3. Android Jetpack 架构组件最佳实践之“网抑云”APP
  4. 深入了解jvm-2Edition-虚拟机字节码执行引擎
  5. SunOS与Solaris系统的对应关系
  6. 【Mongodb】数据库备份与还原
  7. 披着羊皮的Neo-reGeorg
  8. Java面试常见基础问题
  9. mongodb中时间跟实际时间相差8小时----时区问题
  10. Intellj IDEA 光标显示insert状态解决办法