首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >没有具有键'xxx‘的'IEnumerable<SelectListItem>’类型的IEnumerable<SelectListItem>项。

没有具有键'xxx‘的'IEnumerable<SelectListItem>’类型的IEnumerable<SelectListItem>项。
EN

Stack Overflow用户
提问于 2010-05-17 13:22:59
回答 10查看 152.7K关注 0票数 87

在Stack溢出上有几篇关于这个问题的帖子,但是没有一个能解决我当前情况下的问题。

我有一个带有表格的页面,每一行都有许多文本字段和一个下拉列表。所有下拉列表都需要使用相同的SelectList数据,因此我已经将其设置为:

控制器

代码语言:javascript
复制
ViewData["Submarkets"] = new SelectList(submarketRep.AllOrdered(), "id", "name");

视图

代码语言:javascript
复制
<%= Html.DropDownList("submarket_0", (SelectList)ViewData["Submarkets"], "(none)") %>

我在很多地方都使用过这种设置,但是由于某些原因,在这个特定的视图中,我得到了错误:

没有一个“IEnumerable”类型的ViewData项目具有‘submarket_0’键。

EN

回答 10

Stack Overflow用户

回答已采纳

发布于 2010-05-17 14:08:18

好的,答案是从其他关于这个问题的帖子中得到的,它是:

如果您的ViewData包含与您的DropDownList同名的SelectList,即"submarket_0",则如果您不指定第二个参数(在本例中是源SelectList ),则helper将自动使用该数据填充DropDownList

我的错误是:

由于包含下拉列表的表处于部分视图中,并且ViewData已被更改,并且不再包含我引用的SelectList,因此HtmlHelper (而不是抛出错误)试图在ViewData (GRRRR!)中找到名为"submarket_0“的SelectList。它仍然找不到,然后对此抛出一个错误:)

如果我错了,请纠正我

票数 80
EN

Stack Overflow用户

发布于 2013-10-11 20:10:14

老问题,但这是对这个问题的另一个解释。即使您有强类型的视图,并且没有使用ViewData创建下拉列表,您也会得到这个错误。当您查看MVC源时,错误的原因会变得很清楚。

代码语言:javascript
复制
// If we got a null selectList, try to use ViewData to get the list of items.
if (selectList == null)
{
    selectList = htmlHelper.GetSelectData(name);
    usedViewData = true;
}

所以如果你有这样的东西:

@Html.DropDownList("MyList", Model.DropDownData, "")

Model.DropDownData为null,MVC在ViewData中查找名为MyList的内容,如果ViewData中没有该名称的对象,则抛出一个错误。

票数 30
EN

Stack Overflow用户

发布于 2011-10-28 07:38:59

我也犯了同样的错误,我认为问题是错误文本混淆了,因为它给出了一个错误的密钥名。

在你的例子中,它应该说“没有‘ViewData’类型的'IEnumerable‘项目有关键的”子市场“”。

我的错误是视图代码(你的“子市场”)拼写错误,但是错误文本让我发疯了。

我发布这个答案是因为我想说,像我一样,寻找这个错误的人,问题是找不到IENumerable,而是在它应该查找的变量(这里是“子市场”)中,而不是在错误显示("submarket_0")中。

接受的答案非常有趣,但是正如您所说的,如果您没有指定第二个参数,则应用约定,在本例中它是指定的,但是没有找到var (在您的例子中,是因为viewdata没有它,在我的例子中是因为我拼错了var名称)。

希望这能有所帮助!

票数 15
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2849341

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档