如何解决NullReferenceException

时间:2012-08-01 09:24:51

标签: asp.net-mvc-3

我收到以下异常:

Exception Details: System.NullReferenceException: Object reference not set to an instance of an    object.

Source Error: 
Line 34:                 <div>
Line 35:                     @Html.LabelFor(m => m.accountStatus)
Line 36: (HERE)              @Html.DropDownListFor(m => m.accountStatus, Model.accStat) 
Line 37:                 </div>
Line 38:         </fieldset>

以下是我正在使用的模型。 我在模型中创建了一个List属性。我在我的Html.DropDownListFor帮助器中引用它。 但我得到例外。

public class OperatorModel
{
    [Required]
    [Display(Name = "Account ID")]
    public string accountID { get; set; }

    [Required]
    [Display(Name = "Account Name")]
    public string accountName { get; set; }

    [Required]
    [Display(Name = "Password")]
    public string password { get; set; }

    public List<SelectListItem> accStat
    {
        get
        {
            List<SelectListItem> lst = new List<SelectListItem>();
            lst.Add(new SelectListItem { Text="ACTIVE", Value="0", Selected=true });
            lst.Add(new SelectListItem { Text="DEACTIVATED", Value="1" });
            return lst;
        }
    }

修改

以下是我的控制器代码:

public class AdministratorController : Controller
{
    //
    // GET: /Administrator/

    public ActionResult Index()
    {
        return View();
    }

    public ActionResult Create()
    {
        return View();
    }

    public ActionResult Read()
    {
        return View();
    }

    public ActionResult Update()
    {
        return View();
    }

    public ActionResult Disable()
    {
        return View();
    }

    public ActionResult Enable()
    {
        return View();
    }
}

1 个答案:

答案 0 :(得分:2)

您必须将OperatorModel传递给您的操作视图:

例如:

  return View(new OperatorModel());