Mattytommo には、それを行うための新しい複雑なモデルを作成する方法の例が 1 つありますが、他に 2 つの方法があります。
1 つ目は、より定義された複雑なモデルを作成することです。これにより、より定義されたモデルが得られます。これにはフィルターとサイロ化された結果が含まれます。
public class MyFilterModel
{
public string Dominio { get; set; }
public string Cliente { get; set; }
public DateTime? Desde { get; set; }
public int? Estado { get; set; }
public string Origen { get; set; }
public int? Reclamoid { get; set; }
}
public class MyViewModel
{
public MyFilterModel Filters {get;set;}
public IEnumerable<DataRow> Results {get;set;}
}
もう 1 つのオプションは、既存のモデルを維持し、ViewBag または ViewData を使用してフィルター モデルを渡すことです。
public class MyFilterModel
{
public string Dominio { get; set; }
public string Cliente { get; set; }
public DateTime? Desde { get; set; }
public int? Estado { get; set; }
public string Origen { get; set; }
public int? Reclamoid { get; set; }
}
コントローラーで
public ViewResult Consulta(MyFilterModel filters)
{
ViewBag.Filters = filters;
var reclamos = db.Reclamos.Where(/*Apply filters, etc*/);
return View(reclamos.ToList());
}
あなたの見解では
@model MyViewModel
@{
MyFilterModel filters = ViewBag.Filters as MyFilterModel;
}
@Html.EditorFor(m => filters.Dominio)