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