我无法将值绑定到下拉列表。
模型
public class DummyModel
{
...
public int? OptionID { get; set; }
...
}
行视图导致例外
@Html.DropDownListFor(model => model.OptionID, new SelectList(ViewBag.AvailableOptions, "ID", "Name"))
ViewBag的内容
?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.0,Culture = neutral,PublicKeyToken = b77a5c561934e089] ,[System.String,mscorlib,Version = 4.0.0.0,Culture = neutral,
答案 0 :(得分:1)
如果(如评论中/异常文本中所述),ViewBag.AvailableOptions
是一个字典,您需要更改选择列表的Id和Value属性,如下所示:
new SelectList(ViewBag.AvailableOptions, "Key", "Value")
由于字典在枚举时基本上是KeyValuePair
个对象的列表,因此其属性(可以想象)Key
和Value
。