NullReferenceException 在 ASP.NET MVC 5 中使用 DropDownListFor [英] NullReferenceException in use DropDownListFor in ASP.NET MVC 5

查看:56
本文介绍了NullReferenceException 在 ASP.NET MVC 5 中使用 DropDownListFor的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当我尝试像这样使用 DropDownListFor() 时,我找不到为什么会收到 NullReferenceException 的答案:

查看:

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

视图模型:

公共类 CategoryOption{公共 int CategoryOptionId { 获取;放;}公共字符串值 { 获取;放;}}公共 IEnumerableCategoryOptionsList = new List{新 CategoryOption { CategoryOptionId = 0, Value="Rock" },新的 CategoryOption { CategoryOptionId = 1, Value="Jazz" },new CategoryOption { CategoryOptionId = 2, Value="Pop" },new CategoryOption { CategoryOptionId = 3, Value="Metal" },new CategoryOption { CategoryOptionId = 4, Value="Folk" }};[必需的][显示(名称=类别")]公共字符串类别{获取;放;}

解决方案

我想你忘了将你的 ViewModel 对象传递给你的视图,见下文:

public ActionResult YourAction(){返回视图(新的 YourViewModel());}

I can't find the answer why I'm getting NullReferenceException when I'm trying to use DropDownListFor() like this:

View:

<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>

ViewModel:

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; }

解决方案

I think you forgot to pass your ViewModel object to your view, see below:

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

这篇关于NullReferenceException 在 ASP.NET MVC 5 中使用 DropDownListFor的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆