0

我是 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) 方法上发送相同的模型。为什么它是空的?请帮忙 :(

4

0 回答 0