2014-09-04 41 views
0

我在.NET小提琴这个工作,但得到的错误:https://dotnetfiddle.net/1PtssqDropDownList的错误:这里的类型是不ViewData的项目“的IEnumerable <SelectListItem>”本地运行时有钥匙“”

这是什么原因当在.net 4.5.1 mvc本地运行时,完全相同的代码不工作?

我见过的答案类似的问题是建议使用DropDownListFor()来代替,但我需要的DropDownList的功能,允许您添加扩展名(http://msdn.microsoft.com/en-us/library/system.web.mvc.html.selectextensions.dropdownlist.aspx)这样的答案: Handling onchange event in HTML.DropDownList Razor MVC

+0

Viewbag和可视数据可能不可靠。我建议改变你的代码,通过你的视图模型传递你的列表,看看是否有助于你的问题。看到我的答案在这里http://stackoverflow.com/questions/25434762/issue-saving-edited-data-ddl-value-can-not-be-null/25436232#25436232 – 2014-09-04 15:53:57

+0

@MattBodily,你是什么意思不可靠?你可以解释一下你的情况。我没有经历它或读任何东西你告诉 – Shah 2014-09-04 15:58:02

+0

http://stackoverflow.com/questions/12045381/render-and-select-data-from-mvc3-dropdown-list如果你看看接受的答案的意见他们谈论viewbag那里 – 2014-09-04 16:25:39

回答

0

检查,看是否您指定的对象/属性为空。在我的情况:

namespace MvcTest.Models 
{ 
    public class SampleViewModel 
    { 
     public IEnumerable<SelectListItem> SelectItems { get; set; } 
    } 
} 

和...

@model MvcTest.Models.SampleViewModel 
@{ 
    ViewBag.Title = "Home Page"; 
} 
@using (Html.BeginForm()) 
{ 
    <div class="form-group"> 
     @Html.DropDownList("SelectItems") 
    </div> 
} 

SampleViewModel.SelectedItems为空...

相关问题