我是mvc的新人。我有一个如下的观点(它只是我表格的一部分);
<div class="editor-field">
@Html.DropDownListFor(model => model.RoutePageID, (List<SelectListItem>)Model.RoutePagesRoutePageIDList)
@Html.ValidationMessageFor(model => model.RoutePageID)
</div>
动态绑定的项目。如果我单击“保存”按钮并发送包含错误值的表单以获得验证错误。我收到如下错误;;
具有键&#39; RoutePageID&#39;的ViewData项。属于&#39; System.Int32&#39;但必须属于&#39; IEnumerable&#39;
这是我的Insert Post控制器;
[HttpPost]
public ActionResult Insert(CategoryModel _categoryModel)
{
if (ModelState.IsValid)
{
//blabla
}
else
{
return View("Insert", _categoryModel);
}
}
当我发布它时,_categoryModel.RoutePagesRoutePageIDList在Controller中为空。我不知道为什么?因为当我第一次打开插入页面时,我填充了_categoryModel.RoutePagesRoutePageIDList属性,然后它在视图中填充下拉列表。但是在发送表单以获取错误之后,属性为null?我真的不明白为什么?我在返回View(&#34; Insert&#34;,_categoryModel)方法上发送相同的模型。为什么它为空?请帮忙:(