Asp.net 如何更改Identity 3中的用户名?
我希望对身份用户执行crud操作。当我点击提交按钮时,它会显示错误 ArgumentNullException:值不能为null。 参数名称:提供程序 atMicrosoft.Extensions.DependencyInjection.ServiceProviderExtensions.GetRequiredService[T](IServiceProvider提供程序) UserControllerAsp.net 如何更改Identity 3中的用户名?,asp.net,asp.net-mvc,asp.net-core,asp.net-identity-3,Asp.net,Asp.net Mvc,Asp.net Core,Asp.net Identity 3,我希望对身份用户执行crud操作。当我点击提交按钮时,它会显示错误 ArgumentNullException:值不能为null。 参数名称:提供程序 atMicrosoft.Extensions.DependencyInjection.ServiceProviderExtensions.GetRequiredService[T](IServiceProvider提供程序) UserController public async Task<ActionResult> Edit([Bi
public async Task<ActionResult> Edit([Bind("UserName,Id")] ApplicationUser formuser, string id, string RoleId)
{
// ViewBag.RoleId = new SelectList(RoleManager.Roles, "Id", "Name");
var userManager = serviceProvider.GetRequiredService<UserManager<ApplicationUser>>();
var user = await userManager.FindByNameAsync(formuser.Email);
user.UserName = formuser.UserName;
if (ModelState.IsValid)
{
await userManager.UpdateAsync(user);
return RedirectToAction("Index");
}
else
{
ViewBag.RoleId = new SelectList(RoleManager.Roles, "Id", "Name");
return View();
}
}
公共异步任务编辑([Bind(“UserName,Id”)]ApplicationUser formuser,string Id,string RoleId)
{
//ViewBag.RoleId=新的选择列表(rolemager.Roles,“Id”,“Name”);
var userManager=serviceProvider.GetRequiredService();
var user=await userManager.FindByNameAsync(formuser.Email);
user.UserName=formuser.UserName;
if(ModelState.IsValid)
{
等待userManager.UpdateAsync(用户);
返回操作(“索引”);
}
其他的
{
ViewBag.RoleId=新的选择列表(rolemager.Roles,“Id”,“Name”);
返回视图();
}
}
是否检查了userManager是否为空?您的服务提供程序
为空。如何初始化服务提供程序?您应该将userManager添加到控制器的构造函数中,以便为您注入它