asp.net-mvc – MVC SelectList不能正常工作

List<SelectListItem> items = new List<SelectListItem>();
if (a)
{
    SelectListItem deliveryItem = new SelectListItem()
    {
        Selected = a.selected,Text = "Delivery",Value = "1"
    };

    items.Add(deliveryItem);
}

if (b)
{
    SelectListItem pickupItem = new SelectListItem()
    {
        Selected = b.selected,Text = "Pickup",Value = "2"
    };

    items.Add(pickupItem);
}

SelectList selectList = new SelectList(items);

ViewData["OrderTypeList"] = selectList;

然后使用它

Html.DropDownList("OrderTypeList")

呈现

<select id="OrderTypeList" name="OrderTypeList"><option>System.Web.Mvc.SelectListItem</option>
<option>System.Web.Mvc.SelectListItem</option>
</select>

为什么它没有正确渲染选项?

解决方法

当你这样做时,你正在调用的构造函数方法
SelectList selectList = new SelectList(items);

创建一组SelectListItems,它们本身指向SelectListItems(因此它是一个奇怪的选项,因为它只是在对象上调用ToString).而是直接将列表设置为ViewData键

ViewData["OrderTypeList"] = items;

相关文章

这篇文章主要讲解了“WPF如何实现带筛选功能的DataGrid”,文...
本篇内容介绍了“基于WPF如何实现3D画廊动画效果”的有关知识...
Some samples are below for ASP.Net web form controls:(fr...
问题描述: 对于未定义为 System.String 的列,唯一有效的值...
最近用到了CalendarExtender,结果不知道为什么发生了错位,...
ASP.NET 2.0 page lifecyle ASP.NET 2.0 event sequence cha...