我有这个方法告诉我,我有一些无效的参数,我试图从我的RemoveAll
对象中调用List<SelectListItem>
。我只需要根据一个简单的条件从下拉列表中删除一些项目。
public JsonResult GetExportTables(CaseListDynExport objCaseListDynExport)
{
List<SelectListItem> lstExportTablesList = new List<SelectListItem>();
try
{
CaseListDynExportBLL objCaseListDynExportBLL = new CaseListDynExportBLL();
DataTable dtExportTables = objCaseListDynExportBLL.GetExportTables(objCaseListDynExport);
lstExportTablesList = DropDownHelper.GetSelectListItem("TableName", "TableExportCode", null, dtExportTables);
if (objCaseListDynExport.someCondition)
lstExportTablesList.RemoveAll(lstExportTablesList.Where(l => l.Text.IndexOf("Audit") >= 0));
}
catch (Exception ex)
{
LogUtility.ErrorException(ex);
}
return Json(lstExportTablesList, JsonRequestBehavior.AllowGet);
}
我必须遗漏一些非常明显的东西,但我无法发现我做错了什么。
我看过这些帖子:
但是,是的;无法发现我做错了什么......
答案 0 :(得分:5)
应该是:
lstExportTablesList.RemoveAll(l => l.Text.IndexOf("Audit") >= 0);
因此,您将lambda方法直接传递给RemoveAll
方法以检查条件。
具有相同功能的更简洁的方式是:
lstExportTablesList.RemoveAll(l => l.Text.Contains("Audit"));