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

前端之家收集整理的这篇文章主要介绍了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;

猜你在找的asp.Net相关文章