0

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

@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”

我需要在这里做些什么不同的事情?

4

3 回答 3

2

您需要告诉 SelectList 使用哪些字段:

new SelectList(..., "Value", "Text")
于 2012-10-05T17:27:24.350 回答
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"
));
于 2012-10-05T17:29:26.720 回答
1

您在下拉列表中列出的原因"System.Web.Mvc.SelectListItem"是因为您没有指定要用于下拉列表Text的列表项的哪个属性。Value现在,它是根据列表中每个项目的 显示的,它返回类.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"
));
于 2012-10-05T17:34:26.963 回答