@ Html.DropDownListFor的数据绑定异常

我在将值绑定到下拉列表时遇到麻烦。


模型


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,文化=中性,


慕运维8079593
浏览 191回答 1
1回答

UYOU

如果(如注释中/异常文本中所述)ViewBag.AvailableOptions是字典,则您将需要更改选择列表的Id和Value属性,如下所示:new SelectList(ViewBag.AvailableOptions, "Key", "Value")由于字典在本质上是KeyValuePair枚举时的对象列表,因此其属性为(如人们所想象的)Key和Value。
打开App,查看更多内容
随时随地看视频慕课网APP