首頁 > 後端開發 > C++ > 為什麼我的' categoryId” viewData項目會導致'具有鍵'categoryId”的' viewData”項目類型為'system.int32',但必須是類型為'iEnumerable'。”錯誤?

為什麼我的' categoryId” viewData項目會導致'具有鍵'categoryId”的' viewData”項目類型為'system.int32',但必須是類型為'iEnumerable'。”錯誤?

Patricia Arquette
發布: 2025-02-03 02:56:09
原創
984 人瀏覽過

>本文說明瞭如何修復“ categoryId'的viewData項目”中的'aSp.net MVC中的'iEnumerable'”。 出現錯誤之所以出現錯誤,是因為下拉列表的助手期望IEnumerable> viewData項目的SelectListItem>(通常是CategoryID對象的集合),但它是接收int>的。 通常,當下拉列表的數據在發布請求期間未正確填充時。

Why is my

核心問題是

>視圖模型中的屬性(將數據提供給下拉列表)並未在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中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板