asp.net-mvc – UserManager.AddPasswordAsync()返回“Name不能
发布时间:2020-12-16 06:33:17 所属栏目:asp.Net 来源:网络整理
导读:我使用MVC5和ASP.NET身份框架. 我扩展了VS2013搭建的帐户管理功能. 如果我的用户已经注册了外部登录提供程序并且想要添加本地密码,那么当我调用“AddPasswordAsync()”时,我得到并出错:“名称不能为null或为空” 我查看了我的数据库并确认用户名不是null.
我使用MVC5和ASP.NET身份框架.
我扩展了VS2013搭建的帐户管理功能. 如果我的用户已经注册了外部登录提供程序并且想要添加本地密码,那么当我调用“AddPasswordAsync()”时,我得到并出错:“名称不能为null或为空” 我查看了我的数据库并确认用户名不是null. 这个错误是什么意思? 我的ApplicationUser看起来像这样: public class Person : IdentityUser { public string FirstName { get; set; } public string LastName { get; set; } public Sex Sex { get; set; } [Display(Name = "Birth date")] [DataType(DataType.Date)] [DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}",ApplyFormatInEditMode = true)] public DateTime Birthdate { get; set; } public string EMail { get; set; } public int PostalCode { get; set; } public Collection<Race> Races { get; set; } public Collection<Participation> Participations { get; set; } public Person() { if (string.IsNullOrEmpty(UserName)) { UserName = EMail; } Participations = new Collection<Participation>(); Races = new Collection<Race>(); Birthdate = DateTime.Now; } } 最好的祝福 解决方法
经过多次尝试,我终于解决了它.错误消息是错误的,它来自数据库,意味着username字段为null但数据库需要它.
确保向db发送类似的用户名,例如: var user = new ApplicationUser { UserName = model.Email,Email = model.Email,Hometown = model.Hometown }; 并通过运行update-database确保数据库在此之前是最新的. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- ASP.NET MVC 富文本Ueditor编辑 后台传值前端乱码解决方案
- asp.net-mvc-3 – @ Html.DropDownList width
- 清除ASP.net窗体中的所有字段
- ASP.NET MVC – jquery datepicker
- 使用ASP.net MVC&JQuery将HTML标签(代码)作为字符串发布
- ASP.NET MVC和IE缓存 – 操作响应头无效
- asp.net-mvc – ASP.NET MVC中的Page.EnableSessionState等
- 从asp页面调用C#函数
- asp.net-mvc – 用于移动设备的displaymode,带有桌面视图,适
- asp.net-mvc – Asp.Net Mvc – Html.TextBox – 设置自动对