c#MVC Dropdownlist-没有类型为“ IEnumerable”的ViewData项,其键为“”
作者:互联网
香港专业教育学院一直试图通过添加一个DropDownList到home / contact.cshtml来扩展以前的项目.
我的问题是在Firefox中加载页面时,我始终收到以下错误
错误:
System.Web.Mvc.dll中发生类型为’System.InvalidOperationException’的异常,但未在用户代码中处理
没有类型为“ IEnumerable”的ViewData项目具有键“ displayGraph”
我在另一个工作正常的页面上找到了另一个下拉列表(相同的方法),如果我将相同的代码复制到一个可以正常工作的新项目中,谁能告诉我是什么原因导致的?
contact.cshtml-代码段
@using (Html.BeginForm("Index", "Home", FormMethod.Get))
{
<p>
Filter By: @Html.DropDownList("displayGraph","Select a Graph")
<input type="submit" value="Filter" />
</p>
}
HomeController-代码段
public ActionResult Index()
{
string chart1 = "Num Each Model Processed", chart2 = "Another chart to be assigned";
var GraphLst = new List<string> { chart1, chart1 };
ViewBag.displayGraph = new SelectList(GraphLst);
string userName = User.Identity.Name;
return View();
}
GraphdropdownModel-代码段
namespace TestSolution.Models
{
public class GraphDropdownModel
{
public IEnumerable<SelectListItem> Graph{ get; set; }
}
public class GraphDBContext : DbContext
{
public DbSet<GraphDropdownModel> Graphs { get; set; }
}
}
解决方法:
尝试使用@ Html.DropDownListFor
@Html.DropDownListFor(model => model.value, (SelectList)ViewBag.displayGraph)
标签:razor,visual-studio-2013,html-select,c,asp-net-mvc 来源: https://codeday.me/bug/20191029/1958381.html