私は、以下のチュートリアルを複数の列を検索するように調整しています。MVC 5複数の列を検索
https://docs.asp.net/en/latest/tutorials/first-mvc-app/search.html
これは、単一の列を検索するには正常に動作します。私の問題は、キーワードの複数の列を検索したいのですが、私が試したことは、結果が 'Or'演算子の代わりに 'And'として動作する場合と同様の動作になりました。どちらの列にもなく、両方の列で機能します)。私は 'else'などの 'case'文を試しましたが、私のロジックが私を失望させました。私は次のように私は物事を試してみましたが、それは唯一と演技のと同じ動作になり、カラム
私のコントローラのコード
public ActionResult Search(string searchString)
{
var ClipQry = from m in db.Incidents
orderby m.ClipName
select m.ClipName;
var SearchResult = from LoopVar in db.Incidents
select LoopVar;
if (!String.IsNullOrEmpty(searchString))
{
SearchResult = SearchResult.Where(s => s.ClipName.Contains(searchString));
}
return View("Search", SearchResult);
}
ビューコード
<form asp-controller="Incidents" asp-action="Index" method="get">
<p>
<input type="text" name="SearchString" class="form-control" placeholder="Search...">
</p>
</form>
のいずれかに存在を検索したいです'AND'演算子
if (!String.IsNullOrEmpty(searchString))
{
SearchResult = SearchResult.Where(s => s.ClipName.Contains(searchString));
SearchResult = SearchResult.Where(y => y.ClipKeywords.Contains(searchString));
}
本当にありがとう、私は本当に論理に苦しんでいた。あなたの助けは本当に感謝しています:) –