使用视图中的项创建填充的下拉列表

时间:2012-10-05 17:23:17

标签: asp.net asp.net-mvc razor

我正在尝试创建一个包含项目列表的下拉列表:

@Html.DropDownList("displayCount", new SelectList(        
    new[]
    {
        new SelectListItem { Value = "25", Text = "25" },
        new SelectListItem { Value = "50", Text = "50" },
        new SelectListItem { Value = "100", Text = "100" },
    }
));

当我查看我的下拉列表时,它只有3个选项说“System.Web.Mvc.SelectListItem”

这里我需要做些什么?

3 个答案:

答案 0 :(得分:2)

您需要告诉SelectList要使用的字段:

new SelectList(..., "Value", "Text")

答案 1 :(得分:2)

尝试:

@Html.DropDownList("displayCount", new SelectList(        
    new[]
    {
        new SelectListItem { Value = "25", Text = "25" },
        new SelectListItem { Value = "50", Text = "50" },
        new SelectListItem { Value = "100", Text = "100" },
    },
    "Value",
    "Text"
));

答案 2 :(得分:1)

您在下拉列表中列出"System.Web.Mvc.SelectListItem"的原因是您没有指定要用于下拉列表的TextValue的列表项的哪个属性名单。现在,它是根据列表中每个项目的.ToString()显示的,它返回SelectListItem类的全名

@Html.DropDownList("displayCount", new SelectList(        
    new[]
    {
        new SelectListItem { Value = "25", Text = "25" },
        new SelectListItem { Value = "50", Text = "50" },
        new SelectListItem { Value = "100", Text = "100" },
    },
    "Value",
    "Text"
));