在ASP.NET MVC 5中使用DropDownListFor时出现NullReferenceException

时间:2014-02-12 22:02:39

标签: c# asp.net-mvc nullreferenceexception dropdownlistfor

当我尝试使用DropDownListFor()时,我找不到为什么我得到NullReferenceException的答案:

查看:

<div class="form-group">
    @Html.LabelFor(m => m.Category, new { @class = "col-md-2 control-label" })
    <div class="col-md-10">
        @Html.DropDownListFor(
            m => m.Category,
            new SelectList(Model.CategoryOptionsList, "CategoryOptionId", "Value", Model.CategoryOptionsList.First().CategoryOptionId),
            new { @class = "form-control" }
            )
    </div>
</div>

视图模型:

public class CategoryOption 
{
    public int CategoryOptionId { get; set; }
    public string Value { get; set; }
}

public IEnumerable<CategoryOption> CategoryOptionsList = new List<CategoryOption> 
{
    new CategoryOption { CategoryOptionId = 0, Value="Rock" },
    new CategoryOption { CategoryOptionId = 1, Value="Jazz" },
    new CategoryOption { CategoryOptionId = 2, Value="Pop" },
    new CategoryOption { CategoryOptionId = 3, Value="Metal" },
    new CategoryOption { CategoryOptionId = 4, Value="Folk" }
};

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

1 个答案:

答案 0 :(得分:16)

我认为您忘记将ViewModel对象传递给您的视图,请参阅下文:

public ActionResult YourAction()
{
    return View(new YourViewModel());
}