我尝试做的是从控制器传递一个viewData来查看并在下拉列表中显示它。 我希望将选定的Id传递添加到m.movie_type_id中。 但我继续得到ArgumentNullException。详细信息表明Value不能为null。
以下是我的代码和获取错误异常的方法。
<%=Html.DropDownListFor(m=> m.movie_type_id,new SelectList((IEnumerable)ViewData["MT"],"Id","Type")) %>
在控制器
中public ActionResult AddMovie()
{
ViewData["MT"] = db.MovieType.ToList();
return View();
}
[HttpPost]
public ActionResult AddMovie()
{
return view();
}
目前阶段仅供测试之用。由于在数据传递回控制器期间发生错误,我希望在继续之前修复它。
我哪里做错了?
答案 0 :(得分:0)
请确保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();
}