【问题标题】:c# how to add a select list items in viewbagc#如何在viewbag中添加一个选择列表项
【发布时间】:2021-06-18 01:30:09
【问题描述】:
ViewBag.Company= new SelectList(db.i_Company(null).OrderBy(c => c.CompanyName), "CompanyID", "CompanyName");

此 ViewBag 包含 CompanyID 和 CompanyName,但我想为默认选择添加额外的一行。我想添加类似的内容:

CompanyID = 0 和 CompanyName=“所有公司”

到我的列表中。

如何手动向这个 ViewBag 添加一行?

【问题讨论】:

    标签: c# asp.net-mvc viewbag selectlist


    【解决方案1】:

    您首先需要单独创建SelectList的实例,然后将一个新项目插入到其中的位置为0,然后将其分配给ViewBag..

    考虑进行以下操作。

    List<SelectListItem> items = db.i_Company(null).OrderBy(c => c.CompanyName).Select(o => new SelectListItem { Value = o.CompanyID, Text = o.CompanyName}).ToList();
    
    items.Insert(0, (new SelectListItem { Text = "All Companies", Value = "0" }));
    
    ViewBag.Company = new SelectList(items);
    

    【讨论】:

    • 您好 Chetan,感谢您的回复,但我收到“CS0029:无法将类型 'System.Web.Mvc.Selectlist' 隐式转换为 'System.Collection.Generic.List'" 来自第二行。您知道解决此问题的任何方法吗?谢谢!
    • @ted 对此感到抱歉...我用不同的解决方案更改了答案。这应该可以帮助您解决问题而不会出现任何错误。
    • 别担心!我仍然看到来自 o.CompanyID 部分的错误。我尝试更改为 CompanyID.tostring() ,但下拉列表未显示任何值...感谢您的支持! :)
    猜你喜欢
    • 1970-01-01
    • 2010-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-25
    • 1970-01-01
    • 2014-02-12
    相关资源
    最近更新 更多