私はMVCを使用しています。私は私のビューから入力し、私の投稿/ CreateControllerに渡されたカテゴリのデータを渡したいが、それは私が私のドロップダウンリストから選択した私のcategoryTypeIDを渡すことはできません。DataBinding: 'System.Web.Mvc.SelectListItem'に 'CategoryTypeID'という名前のプロパティが含まれていません
データバインディング::「System.Web.Mvc.SelectListItemは」名前「CategoryTypeID」を持つプロパティが含まれていません。ここ
はエラーです。ここでは私のコードです:
My CreateController:
//
// POST: /Category/Create
[HttpPost]
public ActionResult Create(Category category)
{
if (ModelState.IsValid)
{
db.Categories.Add(category);
db.SaveChanges();
return RedirectToAction("Index");
}
ViewBag.CategoryTypes = new SelectList(db.CategoryTypes, "CategoryTypeID", "Name", category.CategoryTypeID);
return View(category);
}
My Create View
@model Haykal.Models.Category
<div class="editor-label">
@Html.LabelFor(model => model.CategoryTypeID, "CategoryType")
</div>
<div class="editor-field">
@Html.DropDownListFor(model => model.CategoryTypeID,
new SelectList(ViewBag.CategoryTypes as System.Collections.IEnumerable, "CategoryTypeID", "Name"),
"--select Category Type --", new { id = "categoryType" })
@Html.ValidationMessageFor(model => model.CategoryTypeID)
</div>
+ 1。実際、SelectListを2回定義しました。あなたの説明は私の問題を絶対に解決しました。さて、なぜエラーメッセージが実際にそれを言っていないのですか?私は似たようなエラーがあります:データバインディング: 'System.Web.Mvc.SelectListItem'は名前 'Id'のプロパティを含んでいません。エラーメッセージは、ある種の誤解を招くものではありませんか? – AuroMetal