C# 为什么我的DropDownList显示的是数据项类型(System.Web.Mvc.SelectListItem),而不是数据';s值多少?
我有一个下拉列表,我用C# 为什么我的DropDownList显示的是数据项类型(System.Web.Mvc.SelectListItem),而不是数据';s值多少?,c#,.net,asp.net-mvc-3,razor,C#,.net,Asp.net Mvc 3,Razor,我有一个下拉列表,我用SelectList填充了SelectListItem对象,但是它呈现的是类名而不是正确的值。有人能看出我哪里做错了吗 下面是我呈现列表的代码: @Html.DropDownListFor(m => m.SelectedValue, @Model.RangeValues.SelectList) 该模型的类型为DataParameterValuesModel public class DataParameterValuesModel { public str
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
中填充的对象如下所示:
List<SelectListItem> items = new List<SelectListItem>();
[...]
items.Add(new SelectListItem()
{
Text = "whatever",
Value = "whatever2"
});
[...]
parms.RangeValues = new DataRangesModel()
{
SelectList = new SelectList(items),
SelectedIdx = null
}
List items=newlist();
[...]
items.Add(新建SelectListItem()
{
Text=“无论如何”,
Value=“whatever2”
});
[...]
parms.RangeValues=新数据范围模型()
{
选择列表=新选择列表(项目),
选择edidx=null
}
尝试使用
SelectList
的第三个构造函数,并指定数据值字段和数据文本字段
parms.RangeValues = new DataRangesModel()
{
SelectList = new SelectList(items,"Value","Text"),
SelectedIdx = null
}
MSDN参考