Identity用户管理入门四(修改、删除用户)
2024-08-31 23:35:25
修改用户不能修改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);
}
最新文章
- [SQL] SQL 基础知识梳理(五) - 复杂查询
- iOS 获取当前点击的坐标
- iOS开发中的各种错误
- ext3grep 模拟恢复删除文件
- Git自动部署
- 动态加载JS
- fuel3.2安装
- 一类最小割bzoj2127,bzoj2132 bzoj3438
- 通过JavaScript判断当前浏览器版本
- 大数据之HBase
- python的历史与优劣
- Angular2.js——表单(下)
- hdu 5398 动态树LCT
- [计算机视觉]100行python实现摄像机偏移、抖动告警
- spring mvc接收ajax提交的JSON数据,并反序列化为对象
- 使用Date和SimpleDateFormat类表示时间
- [BOOK] Applied Math and Machine Learning Basics
- CO15批次确定,标准的太蛋疼了
- Solr——从postgresql数据库导入数据
- 按键精灵与逍遥安卓ADB连接重键方法