我有一个方法可以返回我的 selectList。 selectList 的某些项目将在 Key 的基础上以编程方式删除。

 public SelectList GetRoutingActionList()
    {
        Dictionary<string, string> routingActions = new Dictionary<string, string> {
                                                        { "Approved", "Approve" },
                                                        { "Return To", "Return To .." },
                                                        { "Return To Sender", "Return To Sender" },
                                                        { "Disapprove", "Disapprove" },
                                                        { "Set On Hold", "Set On Hold" }
                                                    };

        SelectList routingActionList = new SelectList(routingActions, "Key", "Value");
        return routingActionList;
    }

对于 eaxmple ,我必须删除带有“不赞成”键的项目。
任何人都可以帮助我解决这个问题。

最佳答案

您必须使用 Where() 来过滤它们,然后将返回的 List<SelectListItem> 对象传递给 SelectList 构造函数以获取新的 SelectList,它不会以这种方式具有值为 "Disapprove" 的项目:

public class SomeController
{

   public ActionResult Index()
   {

       SelectList list = GetRoutingActionList();

       list  = new SelectList(list
                              .Where(x => x.Value != "Disapprove")
                              .ToList(),
                              "Value",
                              "Text");

        return View();
   }

}

关于c# - 从 C# 中的 SelectList 中删除项目,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30803228/

10-13 02:02