Ошибка MVC при (почти по умолчанию) создании индивидуальной учетной записи пользователя
Я относительно новичок в MVC, и я начал использовать шаблон проекта MVC по умолчанию в Visual Studio 2013 (Express). Я изменил представления в соответствии со своими потребностями (временно), а затем следовал этому руководству, чтобы добавить 3 новых поля в процесс регистрации пользователей. Я добавил BirthDate и Email, как в учебнике, и третий: FirstName. Все построено и опубликовано нормально.
После этого я загрузил опубликованный сайт в свой домен и протестировал его в Chrome. Все страницы загружаются правильно, но когда я пытаюсь зарегистрировать пользователя, я попадаю на страницу "Ошибка". Я проверил консоль JS, и единственная запись: event.returnValue is deprecated. Please use the standard event.preventDefault() instead.
Вот код для моих классов C#, как показано в руководстве выше:
Просмотр учетной записи / регистрации (новые поля):
<div class="form-group">
@Html.LabelFor(m => m.Email, new { @class = "col-md-2 control-label" })
<div class="col-md-10">@Html.TextBoxFor(m => m.Email, new { @class = "form-control" })
</div>
</div>
<div class="form-group">
@Html.LabelFor(m => m.FirstName, new { @class = "col-md-2 control-label" })
<div class="col-md-10">@Html.TextBoxFor(m => m.FirstName, new { @class = "form-control" })
</div>
Аккаунт ViewModel (Зарегистрировать ViewModel Новые Поля):
[Required]
[DataType(DataType.Date)]
public DateTime BirthDate { get; set; }
[Required]
[Display(Name = "Email Address")]
public string Email { get; set; }
[Required]
[Display(Name = "First Name")]
public string FirstName { get; set; }
Модель идентификации (метод ApplicationUser):
public class ApplicationUser : IdentityUser
{
public DateTime BirthDate { get; set; }
public string Email { get; set; }
public String FirstName { get; set; }
}
Контроллер аккаунта (сообщение: метод регистрации):
[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public async Task<ActionResult> Register(RegisterViewModel model)
{
if (ModelState.IsValid)
{
var user = new ApplicationUser() { UserName = model.UserName, BirthDate = model.BirthDate, Email = model.Email, FirstName = model.FirstName };
var result = await UserManager.CreateAsync(user, model.Password);
if (result.Succeeded)
{
await SignInAsync(user, isPersistent: false);
return RedirectToAction("Index", "Home");
}
else
{
AddErrors(result);
}
}
// If we got this far, something failed, redisplay form
return View(model);
}
Пожалуйста, не могли бы вы сообщить мне, если вы думаете, что знаете, что является причиной страницы ошибки (я оставлю ее в живых, чтобы вы могли убедиться сами), или если вы знаете, как я могу найти конкретную ошибку. Любая помощь будет оценена. Благодарю.
Обновление 1: я получаю ту же ошибку при входе в систему, а не когда сообщают, что имя пользователя отсутствует в базе данных. Это должно случиться?
Обновление 2: локально работает нормально.