特定の国を持つレコードを検索するために使用されるドロップダウン リストを作成する次のアクション メソッドがあります。すべての国のリストを表示するだけでなく、以下に示すように、国に関係なくすべてのレコードを返す –Any— という名前の静的な値を追加しました。
public PartialViewResult ManageVisitSearch()
{ var CountryList = repository.FindAllCountry().ToList();
CountryList.Insert(0, new Country { Description = "--Any--", CountryID = 0 });
//code goes here
ViewBag.CountryID = new SelectList(CountryList, "CountryID", "Description", 0);
return PartialView("_ManageVisitSearch"); }
検索を実行するリポジトリ メソッドでは、ドロップダウン リストから –Any– が選択された場合にすべてのレコードを返すために次のことを行いました。
public IEnumerable<VisitSearch> visitsearch(DateTime? datefrom, DateTime? dateto, int countryid, int genderid)
{
var vs = (from v in entities.Visits where
(v.Patient.NationalityID == countryid || countryid == 0)
//code goes here
上記のアプローチは私にはうまく機能していますが、従うべき最善のアプローチではないかもしれないと思います. –Any– を検索ドロップダウン リストに追加するために従うべきより合理的なアプローチはありますか、それとも私のアプローチは適切でしょうか?