我试图通过ViewData将一些项目的列表传递给视图,以创建一个下拉列表。 这应该不太困难,但是我是MVC的新手,所以我可能缺少明显的东西。

控制器将列表分配给ViewData:

ViewData["ImageLocatons"] = new SelectList(gvr.ImageLocations);

然后视图尝试将其呈现到下拉列表中:

<%= Html.DropDownList("Location", ViewData["ImageLocations"] as SelectList) %>

但是,当我运行它时,出现以下错误: 没有类型为“ IEnumerable”的ViewData项目具有键“ Location”。

任何想法为什么这不起作用? 此外,它是否不应该查找键“ ImageLocations”而不是位置?

#1楼 票数:7 已采纳

如果您使用:

ViewData["Location"] = new SelectList(gvr.ImageLocations); 

<%= Html.DropDownList("Location") %> 

您的生活会轻松很多。

在示例中设置ViewData时,还要检查错字(缺少i )(ImageLocatons => ImageLocations)。 这将导致您传递给DropDownList的第二个参数为null 这将导致MVC引擎搜索位置。

#2楼 票数:0

您的ViewData是否可能被重置?

尝试在发出下拉列表的行的视图中放置一个断点。
然后快速查看ViewData [“ ImageLocations”]。

当视图尝试使用它时,请确保此处有一个值。

  ask by Joe translate from so

未解决问题?本站智能推荐:

2回复

MVC2路由+ Ajax ==?

我正在整理一个几乎完成的mvc2应用程序,我有一些ajax请求最终看起来像 www.host.com/site/controller/action?UserName=asdf&UserPassword=asdfasdf&Email=asd%40df.com&Phon
3回复

使用来自MVC 2中手动定义的SelectListItems的SelectList渲染问题

我正在使用ASP.NET MVC 2(.NET 3.5),需要手动定义什么是选项列表。 当我这样做时,我得到一个下拉菜单,每个手册条目读取'System.Web.Mvc.SelectListItem'。 我的视图模型定义了这样的列表: 在视图中,我使用Html.DropDownL
1回复

MVC 2路由从表格GET? 还是POST?

我有一个带有单个文本框和一个提交按钮的小型表单。 在我的标签控制器中,我有一个看起来像这样的方法: 我试图首先弄清楚如何进行路由,以便最终的URL如下所示: http://mydomain.com/Tag/tagText 我想我也希望该控制器处理这些类型的URL,并像
2回复

在操作中获取引用视图-MVC2

这可能更像是一个最佳实践问题。 我有三个视图(创建/详细信息/编辑),它们都链接到自己的结果视图(createResults / detailsResults / editResults)。 每个结果视图共享一个带有结果表的局部视图。 当用户提交三个(c / d / e)视图之一时
2回复

如何更改MVC2中的Label值

在我的应用程序中(用c#编写)我有一个文本框和一个提交按钮。 如果用户点击“提交”而未输入任何值,我希望他留在同一页面并显示一条消息“请插入值” 我想放一个标签,然后只是编辑它的值和/或可见性。 我的应用程序结构如下: 控制器A. 在View中,在A下,我有B.aspx
1回复

在MVC 2中从Flash接收帖子

希望您能帮我这个忙。 我的网页上有一个动画电影,播放完毕后会发布一个帖子。 我想抓住那个职位并更新会议。 电影结束时,我得到以下“错误后”消息。 “测试”是我的控制者 “ showmovie”是我的操作,它将id作为参数。 fx。 那是我的闪光灯打开的页面。
1回复

使用IoC的MVC 2验证属性单元测试

我目前正在为ASP.NET MVC 2控制器编写一些单元测试,并且MVC 2.0验证属性存在一些问题。 有问题的验证属性使用存储库来检查当前数据源中是否没有重复的名称,我想在单元测试期间用一个伪造的存储库替换该存储库。 根据本文的介绍 ,我正在使用Castle Windsor,它使我可以在运
1回复

传递来自用户控件的值(MVC 2,Json)

这些是我在当前项目中使用的以下技术:-WCF-MVC 2-Json 我只是MVC 2和Json的新手。 我的问题是,如何将用户控件中的值传递回调用它的页面? 请回答我的问题或给我任何参考链接,以便我可以提炼出一些想法。 谢谢。