加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

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

发布时间:2020-12-16 04:02:21 所属栏目:asp.Net 来源:网络整理
导读:ListSelectListItem items = new ListSelectListItem();if (a){ SelectListItem deliveryItem = new SelectListItem() { Selected = a.selected,Text = "Delivery",Value = "1" }; items.Add(deliveryItem);}if (b){ SelectListItem pickupItem = new Select
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;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读