C# @Html.DropDownListFor的数据绑定异常
我无法将值绑定到下拉列表 型号C# @Html.DropDownListFor的数据绑定异常,c#,asp.net-mvc,C#,Asp.net Mvc,我无法将值绑定到下拉列表 型号 public class DummyModel { ... public int? OptionID { get; set; } ... } 视图中导致异常的行 @Html.DropDownListFor(model => model.OptionID, new SelectList(ViewBag.AvailableOptions, "ID", "Name")) 查看包的内容 ?ViewBag.AvailableOptions
public class DummyModel
{
...
public int? OptionID { get; set; }
...
}
视图中导致异常的行
@Html.DropDownListFor(model => model.OptionID, new SelectList(ViewBag.AvailableOptions, "ID", "Name"))
查看包的内容
?ViewBag.AvailableOptions
Count = 4
[0]: {[3, Average Speed]}
[1]: {[4, Snails pace]}
[2]: {[1, Super Fast]}
[3]: {[2, Super Slow]}
生成的异常:
System.Web.HttpException:'DataBinding:'System.Collections.Generic.KeyValuePair`2[[System.Int32,mscorlib,Version=4.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089],[System.String,mscorlib,Version=4.0.0.0,Culture=neutral
如果(如注释/例外文本中所述),ViewBag.AvailableOptions
是一个字典,则需要更改选择列表的Id和值属性,如下所示:
new SelectList(ViewBag.AvailableOptions, "Key", "Value")
由于字典在枚举时基本上是
KeyValuePair
对象的列表,因此它的属性是键
和值
请添加操作代码,以便我们可以看到您分配给查看包的内容。可用选项
查看包中的类型。可用选项?该类型似乎是一个字典。谢谢您,弗朗西斯!这是我所期望的工作方式。