C# DropDownList用于获取空值并显示ArgumentNullException
我试图做的是将一个viewData从控制器传递到视图,并在下拉列表中显示它。 我希望将所选Id通行证添加到m.movie_type_Id中。 但我一直都有例外。详细信息说明该值不能为null 下面是我是如何编写代码和获取错误异常的C# DropDownList用于获取空值并显示ArgumentNullException,c#,asp.net-mvc,asp.net-mvc-4,null,dropdownlistfor,C#,Asp.net Mvc,Asp.net Mvc 4,Null,Dropdownlistfor,我试图做的是将一个viewData从控制器传递到视图,并在下拉列表中显示它。 我希望将所选Id通行证添加到m.movie_type_Id中。 但我一直都有例外。详细信息说明该值不能为null 下面是我是如何编写代码和获取错误异常的 <%=Html.DropDownListFor(m=> m.movie_type_id,new SelectList((IEnumerable)ViewData["MT"],"Id","Type")) %> 当前阶段仅用于测试目的。由于错误发生在数
<%=Html.DropDownListFor(m=> m.movie_type_id,new SelectList((IEnumerable)ViewData["MT"],"Id","Type")) %>
当前阶段仅用于测试目的。由于错误发生在数据传回控制器的过程中,我希望在继续之前修复它
我哪里做错了?请确保viewdata由某个集合填充,并像
public ActionResult MyAction()
{
ViewData["MT"] =YourIEnumerableCollection() //Code to get the collection
return view(model);
}
编辑
我认为您在POST场景中得到了这一点,您也需要在POST中传递ViewData
[HttpPost]
public ActionResult AddMovie()
{
ViewData["SQ"] = db.MovieType.ToList();
return View();
}
我尝试过你的方法,但看起来还是一样,无法得到非空的值。我编辑了我的文章,其中包含了我的原始代码。哇,谢谢兄弟。现在开始工作了!万分感谢!
[HttpPost]
public ActionResult AddMovie()
{
ViewData["SQ"] = db.MovieType.ToList();
return View();
}