>本文說明瞭如何修復“ categoryId'的viewData項目”中的'aSp.net MVC中的'iEnumerable'”。 出現錯誤之所以出現錯誤,是因為下拉列表的助手期望IEnumerable
> viewData項目的SelectListItem
>(通常是CategoryID
對象的集合),但它是接收int
>的。 通常,當下拉列表的數據在發布請求期間未正確填充時。
>視圖模型中的屬性(將數據提供給下拉列表)並未在Action的Post方法中刷新。 解決方案是在CategoryList
> post方法中重新填充ProjectVM
>Create
>
CategoryList
這是如何糾正Create
的操作方法的方法:
Create
>通過在
public ActionResult Create(ProjectVM model) { if (!ModelState.IsValid) { // Repopulate the CategoryList property model.CategoryList = new SelectList(db.Categories, "ID", "Name"); return View(model); } // ... (Your existing code to save the project) ... }
>表的數據(假設model.CategoryList = new SelectList(db.Categories, "ID", "Name");
>是您的數據庫上下文),將必要的if (!ModelState.IsValid)
提供到CategoryList助手。 這樣可以防止類型不匹配並允許成功提交。 Categories
構造函數將數據源,值字段(“ ID”)和文本字段(“名稱”)獲取。 這樣可以確保下拉列表顯示正確的類別名稱和值。 db
>
以上是為什麼我的' categoryId” viewData項目會導致'具有鍵'categoryId”的' viewData”項目類型為'system.int32',但必須是類型為'iEnumerable'。”錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!