NullReferenceException 在 ASP.NET MVC 5 中使用 DropDownListFor [英] NullReferenceException in use DropDownListFor in ASP.NET MVC 5
本文介绍了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屋!
查看全文