如何在MVC 3中插入一个项目到一个填充列表的第一个索引

本文关键字:一个 填充 列表 索引 第一个 项目 插入 MVC | 更新日期: 2023-09-27 18:12:31

我有一个由我填写并排序的列表!我想在这个排序列表中添加一些新项目,但是这些新项目应该位于列表的顶部。

我正在添加项目到列表:

var OnlySup = dataContext.GroupDetails.Where(c => c.sup_id == c.suppliers.supplier_id).Select(c=>c.sup_id).Distinct().ToList();
/* GET SUPPLIERS FROM DB */
foreach (var supp in OnlySup)
{
    /* ADD EACH SUPPLIER TO LIST */
    SupplierList.Add(new SelectListItem() { Text = supp.supplier, Value = "S" + supp.supplier_id.ToString() });
}

排序:

/* ReOrder The List */
SupplierList = SupplierList.OrderBy(c => c.Text).ToList();

列出我想要添加到列表顶部的项目:

/* DEFAULT ADD */
SupplierList.Add(new SelectListItem() { Text = "ALL Groups", Value = "G" });
SupplierList.Add(new SelectListItem() { Text = "ALL Suppliers", Value = "S" });
SupplierList.Add(new SelectListItem() { Text = "ALL Suppliers AND Groups", Value = "%" });
/* GET GROUPS FROM DB */
var OnlyGroup = dataContext.groups.OrderBy(c => c.id).Distinct().ToList();
/* FOR EACH GROUP */
foreach (var groups in OnlyGroup)
{
    /* ADD EACH GROUP TO LIST */
    SupplierList.Add(new SelectListItem() { Text = groups.group_name, Value = "G" + groups.id.ToString() });
}

那么我怎么才能做到这一点呢?

如何在MVC 3中插入一个项目到一个填充列表的第一个索引

为什么不调用Insert方法呢?

创建一个新的列表,并在开始时添加您想要的项目,然后添加您之前排序的其他项目。如果我没有完全误解你的话,我应该工作的。

NewList.Add(the new ones)
foreach(var item in SupplierList){
NewList.Add(item);
}

我想到的第一件事就是准备一份清单,列出所有这些项目。因此,您可以将MyList.Insert(0)用于您的新项目。然后生成选择列表,如下所示:

var select = new SelectLis(MyList, "Id", "Text", Model.SelectedValueId)