如何将项目添加到IEnumerable SelectListItem

肖恩·拉森(Shawn Larson)

我试图将一个项目添加到IEnumerable SelectList。我有一个填充列表的初始查询,然后有一个查询来检查是否存在一个名为“ INFORMATIONAL”的项目。如果不是,我需要将其添加到初始查询返回的列表中。这是我的代码。它不喜欢list.Add(newItem)。任何援助将不胜感激。谢谢

public IEnumerable<SelectListItem> GetCategoriesByAccountID(string AccountID)
    {
        IEnumerable<SelectListItem> list = null;

        using (var context = new AMPEntities())
        {
            // Queries DB for list of categories by AccountID
            var query = (from ca in context.CustomAlerts
                        where ca.AccountID == AccountID
                        orderby ca.AlertCategory
                        select new SelectListItem { Text = ca.AlertCategory, Value = ca.AlertCategory }).Distinct();
            list = query.ToList();

            // Checks list to see if "INFORMATIONAL" already exists
            var item = (from l in list
                        where l.Value == "INFORMATIONAL"
                        select new SelectListItem { Text = l.Text, Value = l.Value }).FirstOrDefault();

            // If "INFORMATIONAL" is not present add it to list
            if (item == null)
            {
                var newItem = new SelectListItem { Text = "INFORMATIONAL", Value = "INFORMATIONAL" };
                list.Add(newItem);
            }
        }

        return list;
    }
Vsevolod Goloviznin

问题在于您的变量是类型IEnumerable<SelectListItem>将其更改为List<SelectListItem>或使用另一个变量。

public IEnumerable<SelectListItem> GetCategoriesByAccountID(string AccountID)
    {
        List<SelectListItem> list = null;

        using (var context = new AMPEntities())
        {
            // Queries DB for list of categories by AccountID
            var query = (from ca in context.CustomAlerts
                        where ca.AccountID == AccountID
                        orderby ca.AlertCategory
                        select new SelectListItem { Text = ca.AlertCategory, Value = ca.AlertCategory }).Distinct();
            list = query.ToList();

            // Checks list to see if "INFORMATIONAL" already exists
            var item = (from l in list
                        where l.Value == "INFORMATIONAL"
                        select new SelectListItem { Text = l.Text, Value = l.Value }).FirstOrDefault();

            // If "INFORMATIONAL" is not present add it to list
            if (item == null)
            {
                var newItem = new SelectListItem { Text = "INFORMATIONAL", Value = "INFORMATIONAL" };
                list.Add(newItem);
            }
        }

        return list;
    }

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

从 dbContext 获取 IEnumerable<SelectListItem>

SelectListItem的选定项目

如何获取 SelectListItem[] 的值

IEnumerable 如何将项目添加到列表

如何将项目添加到IEnumerable

将SelectListItem手动添加到SelectList中以在DropDownListFor中使用

如何将常量从静态类获取到List <SelectListItem>

无法将模型属性绑定到SelectListItem

无法将selectlistitem绑定到模型属性

将类映射到SelectListItem时出错

如何创建具有Int值的SelectListItem()

将IDictionary <Guid,string>转换为IEnumerable <SelectListItem>

如何解决下拉列表MVC中的错误“ IEnumerable <SelectListItem>”

将对象从另一个类添加到SelectListItem吗?

如何在SelectListItem中正确设置所选项目?

如何将项目添加到IEnumerable中填充的对象的类列表中

如何将项目添加到IEnumerable <T>集合中?

使用 linq 确定 SelectListItem 列表中的选定项目

无法将数据DropDownListFor与ViewBag和SelectListItem绑定

.Net MVC 5.2.3:如何从SelectListItem中创建禁用的选项?

如何从 appSettings 获取键值对到 SelectListItem 的集合中?

如何使用枚举在控制器中创建List <selectListItem>

如何更新SelectListItem List <T>中的选定值

如何将源项目添加到项目中

如何将下拉列表中的 selectlistitem 值绑定到模型中的字符串属性

如何将模型项列表返回到 ASP.NET Core SelectListItem?

如何将@ Html.Raw应用于每个SelectListItem.Text属性?

没有类型为“ IEnumerable <SelectListItem>”的具有键“ SelectedCategoriesIds”的ViewData项目

没有类型为“ IEnumerable <SelectListItem>”的ViewData项目,其键为“ PestType”