初投稿時間、
私は MVC abit をいじっています...複数の入力フィールドを持つビューがあります。これらのフィールドのいくつかは投稿時に空白になる可能性があります。
投稿のコントローラー内のアクション メソッドは次のようになります。
public ActionResult Filter(int? id, string firstName, string lastName, bool? isMember)
私は自分のデータベースで動的な Linq クエリを実行するために動き回っている DynamicQuery 拡張機能を使用しており、実行のためにデータ アクセス レイヤーに渡される Search オブジェクトにこれをカプセル化しました。
ただし、入力値とクエリの結果を表示するためにビューに戻されるカスタマイズされた ViewData オブジェクトもあります。
Search オブジェクトのプロパティと ViewDatas の両方を設定する必要があるため、コードは少し厄介に見えます。
public ActionResult Filter(int? id, string firstName, string lastName, bool? isMember) {
var search = new Search {
Id = id,
FirstName = firstName,
LastName = lastName,
Member = isMember
};
var memberViewData = new MemberViewData {
Id = id,
FirstName = firstName,
LastName = lastName,
Member = isMember
};
memberViewData.Results = _dataRepository.GetMember(search);
return View("Search", memberViewData);
}
私はこれを考えすぎていて、実際には値をデータ アクセス レイヤーに渡してコントローラーに ViewData を入力するだけでよいのでしょうか、それとももっと洗練されたパターンやプラクティスを使用できるでしょうか?
これがでたらめのように思われる場合は申し訳ありませんが、アイデアを跳ね返す人やフレームワークを掘り下げる時間はありません。