繁体   English   中英

MVC - 有型“的IEnumerable”没有ViewData的项目具有关键“*******”

[英]MVC - There is no ViewData item of type 'IEnumerable' that has the key '*******'

这让我很烦。 如果完成并提交表格,它可以很好地处理负载。 但是,如果我不更新任何值,则由于空值而应生成验证错误,它将显示以下错误。

  • $ exception {“没有类型为“ IEnumerable”的ViewData项,其键为“ TenantType”。”} System.Exception {System.InvalidOperationException}

错误是正确的,没有与下拉列表同名的viewdata。 这些下拉列表是通用的,因此我已经分享了它们。 有些有/是。 当我明确指出其他内容时,为什么要求与控件名称相同的视图数据?

查看摘录

    <div class="editor-field">
    @Html.DropDownList("TenantType", ViewData["list7"] as SelectList)
    </div>
    @Html.ValidationMessageFor(model => model.TenantType)

控制器提取

        var list7 = new SelectList(new[]
                                      {
                                          new {ID="",Name="Please Select"},
                                          new {ID="Professional",Name="Professional"},
                                          new {ID="Student",Name="Student"},
                                          new {ID="DSS Family",Name="DSS Family"},
                                          new {ID="DSS Individuals",Name="DSS Individuals"},
                                          new {ID="Local Authority",Name="Local Authority"},
                                          new {ID="Holiday Home",Name="Holiday Home"},
                                          new {ID="Asylum Seekers",Name="Asylum Seekers"},
                                      }, "ID", "Name", 1);
        ViewData["list7"] = list7;
  • $ exception {“没有类型为“ IEnumerable”的ViewData项,其键为“ TenantType”。”} System.Exception {System.InvalidOperationException}

检查此链接

ViewBag / ViewData生命周期

在控制器动作模型无效后,是否再次设置ViewData [“ list7”]?

暂无
暂无

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

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