繁体   English   中英

DropDownList 错误,System.InvalidOperationException

[英]DropDownList Error, System.InvalidOperationException

创建.cshtml

@Html.DropDownList("KategoriId",null,htmlAttributes: new { @class="form-control"})

MakaleController.cs

public ActionResult Create()
        {
            ViewBag.KategoriId = new SelectList(db.Kategoris, "KategoriId", "KategoriAdi");
            return View();
        }

但它说当我提出发布请求时,

具有“KategoriId”键的 ViewData 元素的类型为“System.Int32”,但类型为“IEnumerable”。

如何修复此错误,我尝试了很多方法,但都没有发生。 他说该值通常为空。

Kategori.cs(!!不是KATEGORIS,我先用代码创建)

[Table("Kategori")]
    public partial class Kategori
    {
        public int KategoriId { get; set; }

        [StringLength(50)]
        public string KategoriAdi { get; set; }

        public virtual Makale Makale { get; set; }
    }

更新您的下拉定义不正确

它应该如下所示

@Html.DropDownListFor(m => m.CategoryID, Model.CategoryList, "-Please select-")

您将 null 传递给 Dropdownlist,但它至少应该是一个空列表 您还尝试将下拉列表数据保留在 viewbag 中。 它应该是视图模型中的 List 属性。 PS:由于可读性问题,在全局项目中不接受在变量名中使用本地词 =)

PS:您可以从此处查看类似的问题和答案具有键“XXX”的 ViewData 项的类型为“System.Int32”,但必须为“IEnumerable<SelectListItem>”类型

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM