次のモデルとアクションがある場合:
public class Filters
{
public string Keyword {get;set;}
public int ArticleId {get;set;}
}
public class MyController : Controller
{
public ActionResult Full(Filters filters)
{
...
return View();
}
}
Full
クエリ文字列またはフォーム変数を使用せずにアクションにルーティングして値を入力するfilters
と、単純にnew Filters()
.
これがどこに当てはまるか、またはクエリ文字列/フォーム変数がfilters
.
次のようなポリモーフィズムを使用できると思いました。
public class MyController : Controller
{
public ActionResult Full()
{
var filters = <Perhaps read out of session state>
return Full(filters);
}
public ActionResult Full(Filters filters)
{
...
return View();
}
}
しかし、これは機能しません(あいまいです)。すべてのパブリック プロパティが既定値であるかどうかを単純にチェックするオブジェクトへの拡張メソッドを作成しましたが、もっと良い方法があるはずです。