问题描述
我创建了一个带有身份验证的 ASP.NET MVC4 项目。当我运行我的应用程序时出现错误:
System.NullReferenceException
在文件 Views/Accounts/Register 中的第 17 行。我该如何解决?
@model ImArtistApp.Models.Registerviewmodel
@{
ViewBag.Title = "Регистрация";
}
<h2>@ViewBag.Title.</h2>
@using (Html.BeginForm("Register","Account",FormMethod.Post,new { @class = "form-horizontal",role = "form" }))
{
@Html.AntiForgeryToken()
<h4>Создание новой учетной записи.</h4>
<hr />
@Html.ValidationSummary("",new { @class = "text-danger" })
<div class="form-group">
@Html.LabelFor(m => m.Email,new { @class = "col-md-2 control-label" })
<div class="col-md-10">
// Error here
@Html.displayFor(m => m.Email,new { @class = "form-control" })
</div> ....
型号代码:
public class Registerviewmodel
{
[required]
[EmailAddress]
[DataType(DataType.Text)]
[display(Name = "Адрес электронной почты")]
[UIHint("String")]
public string Email { get; set; }
[required]
[StringLength(100,ErrorMessage = "Значение {0} должно содержать не менее {2} символов.",MinimumLength = 6)]
[DataType(DataType.Password)]
[display(Name = "Пароль")]
public string Password { get; set; }
[DataType(DataType.Password)]
[display(Name = "Подтверждение пароля")]
[Compare("Password",ErrorMessage = "Пароль и его подтверждение не совпадают.")]
public string ConfirmPassword { get; set; }
}
解决方法
您是否在注册操作中将模型返回给控制器?
public ActionResult Register()
{
var model = new RegisterViewModel();
return View(model);
}