私は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) メソッドで同じモデルを送信します。なぜヌルなのですか?助けてください :(