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' である必要があります。

これが私の Insert Post コントローラーです。

    [HttpPost]
    public ActionResult Insert(CategoryModel _categoryModel)
    {
        if (ModelState.IsValid)
        {
            //blabla
        }
        else
        {
            return View("Insert", _categoryModel);
        }
    }

_categoryModel.RoutePagesRoutePageIDList は、投稿時にコントローラーで null です。どうしてか分かりません?挿入ページを最初に開いたときに、_categoryModel.RoutePagesRoutePageIDList プロパティを入力すると、ドロップダウンが表示されます。しかし、フォームを送信してエラーを取得した後、プロパティはnullになっていますか? 私は本当になぜ理解していないのですか?リターン View("Insert", _categoryModel) メソッドで同じモデルを送信します。なぜヌルなのですか?助けてください :(

4

0 に答える 0