我是C#asp.net剃须刀页面的新手,我正在Microsoft Trawing中使用示例来构建应用程序。当我试图从电影表中搜索"哥斯拉"之类的项目时,下面的代码就起作用。问题是,如果要在"哥斯拉","捉鬼敢死队"one_answers" kazzoky"上搜索它,它将返回null。
因此,如果搜索串是"哥斯拉",我会得到一个结果,而对于" Kazzoky"one_answers" Ghoshbusters" Biut时,我会得到同样的结果,当我通过" Godzilla,Kazzoky,kazzoky,Ghostbusters"作为搜索string,结果是空白页面。
。请帮助!
public async Task OnGetAsync()
{
var movies = from m in _context.Movie
select m;
if (!string.IsNullOrEmpty(SearchString))
{
movies = movies.Where(s => s.Title.Contains(SearchString));
}
Movie = await movies.ToListAsync();
}
我尝试了
parts = parts。//不工作
我也尝试了电影=电影。where(s => s.title.contains(其中(s => searchstring.contains(s.title)))));
但它抛出了异常...
尝试一下。
movies = movies.Where(s => SearchString.Contains(s.Title));
如果您的搜索分开了,则需要将其拆分:
var searchTerms = SearchString.Split(',');
movies = movies.Where(s => searchTerms.Contain(s.Title));
感谢您的输入。我解决了问题。
电影=电影。
但是我正在针对错误的数据集进行测试。例如,对" GHO"的单个搜索将返回Ghostbusters,但是当您只想搜索标题的一部分时,这很好,因为您不完全记住。
我正在做这个假设,这就是为什么我遇到这个问题的原因。
感谢大家的贡献,我非常感谢。