【发布时间】:2021-04-25 01:30:17
【问题描述】:
标题有误。可能我必须控制 string.IsNullOrEmpty(searchString) 但我没有。我的代码如下。请帮帮我
谢谢大家我解决了这个问题。问题不在这里。我的路线代码有问题。因为搜索不同,我会写我的路线代码
endpoints.MapControllerRoute(
name:"search",
pattern: "{search}",
defaults: new {controller="Shop",action="search"}
);
但不是来自模式:“{search} 应该是这种模式:“搜索” 感谢所有帮助过的人
public List<Product> GetSearchResult(string searchString)
{
using (var context = new ShopContext())
{
var products = context
.Products
.Where(i=> i.IsApproved && (i.Name.ToLower().Contains(searchString.ToLower()) || i.Description.ToLower().Contains(searchString.ToLower())))
.AsQueryable();
return products.ToList();
}
}
【问题讨论】:
-
请添加抛出的异常。
-
内部异常。
-
这可能是尝试在单个语句中做太多事情的情况。除非您可以将其分解为多个进程,否则很难知道您的错误在哪里。如果您可以粘贴 FULL 错误以及堆栈跟踪,那将有所帮助。
-
最可能的原因是
searchString为空。您需要先检查它是否为空。或者像这样searchString = searchString ?? "";简单地在开头标准化它的值 -
你已经破坏了一切,所有的痕迹使以下所有答案都变得毫无意义=))好人。下次,请保持您的问题不变。这不是您可以用您自己解决的答案替换几乎所有内容的地方。您可以像其他人一样在单独的 Answer 中发布自己的答案。 Q&A 的目的不仅仅是帮助解决您自己的问题,主要目的是帮助解决其他开发者也遇到的类似问题。这意味着所有的问题和答案可能会帮助很多人,而不仅仅是这次。
标签: c# .net asp.net-mvc asp.net-core asp.net-web-api