我用单独的用户帐户创建了一个新项目,并添加了2个属性(显示名和用户名(代码为DisplayName / LoginUsername)),而DisplayName并没有给我带来任何问题,但LoginUsername显然是该程序的问题。
我尝试将其添加到迁移中,尝试在没有LoginUsername的情况下进行,但该用户名有效但不是我想要的目的,并且我尝试在线搜索无济于事。
出现错误的部分是
[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public async Task<ActionResult> Register(RegisterViewModel model)
{
if (ModelState.IsValid)
{
var user = new ApplicationUser { UserName = model.LoginUsername, Email = model.Email, DisplayName = model.DisplayName };
var result = await UserManager.CreateAsync(user, model.Password);
if (result.Succeeded)
{
await SignInManager.SignInAsync(user, isPersistent:false, rememberBrowser:false);
return RedirectToAction("Index", "Home");
}
AddErrors(result);
}
return View(model);
}
我的RegisterViewModel包括
public class RegisterViewModel
{
[Required]
[Display(Name = "Display name")]
public string DisplayName { get; set; }
[Required]
[Display(Name = "Username")]
public string LoginUsername { get; set; }
[Required]
[EmailAddress]
[Display(Name = "Email")]
public string Email { get; set; }
[Required]
[StringLength(100, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 6)]
[DataType(DataType.Password)]
[Display(Name = "Password")]
public string Password { get; set; }
[DataType(DataType.Password)]
[Display(Name = "Confirm password")]
[Compare("Password", ErrorMessage = "The password and confirmation password do not match.")]
public string ConfirmPassword { get; set; }
}
我仍然缺少哪些信息,请告诉我还有什么需要补充的信息。
我要注册的内容是包含实际的用户名,而不只是电子邮件,而该电子邮件也将用于登录。相反,我收到了错误消息。
我们将不胜感激。 :)
已解决:我没有使用IdentityFramework提供的标准用户名,并且该应用程序无法用数据填充两个用户名道具,但是由于这两个要求,因此无法保存该帐户。因此,我无意中做了不必要的第二项财产。