没有具有键 'SubGoods' 的类型 'IEnumerable<SelectListItem>' 的 ViewData 项

There is no ViewData item of type 'IEnumerable<SelectListItem>' that has the key 'SubGoods'

我是 asp.net mvc 的新手 我在下面尝试使用这段代码来显示 dropdownlist 中从数据库中提取的项目,但我得到了这个错误:

There is no ViewData item of type 'IEnumerable<SelectListItem>' that has the key 'SubGoods'.

动作控制器

[HttpGet]
    public ActionResult AddSubGood()
    {
        ViewBag.SubGoods = new SelectList(db.MainGoods, "GoodID", "GoodTitle");
        return View();
    }

我试试这个:

<div class="form-group">
        @Html.LabelFor(model => model.FKMainGoodID, new { @class = "control-label col-md-2" })
        <div class="col-md-10">
            @Html.DropDownList("SubGoods",(IEnumerable<SelectListItem>)ViewBag.SubGoods, "select main good")
            </div>
        </div>

还有这个:

<div class="form-group">
        @Html.LabelFor(model => model.FKMainGoodID, new { @class = "control-label col-md-2" })
        <div class="col-md-10">
            @Html.DropDownList("SubGoods", "select main good")
            </div>
        </div>

但我遇到了同样的错误。 谁能告诉我有什么问题吗?

如果您试图在已发布模型的 FKMainGoodID 属性 中获取选定的选项值,请使用字符串 "FKMainGoodID" 作为 [=13= 的第一个参数] 辅助方法。这将生成名称为 FKMainGoodID 的 SELECT 元素,模型绑定将在您提交表单时起作用。

<div class="col-md-10">
      @Html.DropDownList("FKMainGoodID",(IEnumerable<SelectListItem>)ViewBag.SubGoods,
                                                                      "select main good")
</div>