在ASP.Net Core 3中,可以使用LINQ和Lambda表达式来实现多个搜索条件。下面是一个示例代码,展示了如何使用多个搜索条件来过滤列表中的数据:
public IActionResult Search(string keyword, string category, int minPrice, int maxPrice)
{
// 获取所有数据
var productList = GetProducts();
// 应用搜索条件
var filteredList = productList.Where(p =>
(string.IsNullOrEmpty(keyword) || p.Name.Contains(keyword)) &&
(string.IsNullOrEmpty(category) || p.Category == category) &&
(p.Price >= minPrice && p.Price <= maxPrice)
).ToList();
return View(filteredList);
}
在上面的示例中,假设有一个名为Product
的模型类,具有属性Name
、Category
和Price
。GetProducts()
方法返回一个包含所有产品的列表。
在Search
方法中,我们首先获取所有产品的列表。然后,使用LINQ和Lambda表达式对列表进行筛选。每个搜索条件都使用三元运算符(? :
)来检查是否为空,如果为空,则表示不需要应用该搜索条件。
最后,将过滤后的列表传递给视图进行展示。
请注意,上述示例只是一个基本的演示,您可以根据您的实际需求进行修改和扩展。