ASP.NET MVC 显示

问题描述

我创建了一个带有身份验证的 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);
}