【问题标题】:Why does my DropDownList display the data item type (System.Web.Mvc.SelectListItem) instead of the data's value?为什么我的 DropDownList 显示的是数据项类型 (System.Web.Mvc.SelectListItem) 而不是数据的值?
【发布时间】:2012-09-18 10:21:45
【问题描述】:

我有一个下拉列表,其中填充了SelectList 填充有SelectListItem 对象,但它呈现的是类名而不是正确的值。谁能看出我哪里出错了?

这是我渲染列表的代码:

@Html.DropDownListFor(m => m.SelectedValue, @Model.RangeValues.SelectList)

模型的类型是DataParameterValuesModel...

public class DataParameterValuesModel
{
    public string Description { get; set;}
    public DataRangesModel RangeValues { get; set; }
}

public class DataRangesModel
{
    public int? SelectedIdx { get; set; }
    public SelectList SelectList { get; set; }
}

SelectList 填充有 SelectListItem 对象,如下所示:

List<SelectListItem> items = new List<SelectListItem>();

[...]

items.Add(new SelectListItem()
{
    Text = "whatever",
    Value = "whatever2"
});

[...]

parms.RangeValues = new DataRangesModel()
{
    SelectList = new SelectList(items),
    SelectedIdx = null
}

【问题讨论】:

    标签: c# .net asp.net-mvc-3 razor


    【解决方案1】:

    尝试使用SelectList的第三个构造函数并指定数据值字段和数据文本字段。

    parms.RangeValues = new DataRangesModel()
    {
        SelectList = new SelectList(items,"Value","Text"),
        SelectedIdx = null
    }
    

    Here MSDN 参考

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-04-30
      • 1970-01-01
      • 2021-01-06
      • 2023-03-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多