我有一個包含兩個外部頁面(@ {Html.RenderAction)的View頁面。 所有3頁都有一個控制器。默認情況下,我從MSSQL數據庫中獲取所有數據,並得到結果。現在我需要按日期篩選結果,並在一些日期之間取得結果。如何在兩個日期之間進行搜索
下面是搜索表單的HTML代碼:
@using (Html.BeginForm("Reporti", "Reporti", null, FormMethod.Get))
{
<table border="0" cellspacing="5" cellpadding="5">
<tbody>
<tr>
<td>Od Datum:</td>
<td><input type="text" id="datumOD" name="datumOD" class="datumOD"></td>
</tr>
<tr>
<td>Do Datum:</td>
<td><input type="text" id="max" name="datumDO" class="datumDO"></td>
</tr>
<tr>
<td></td>
<td><input type="submit" value="Baraj" /></td>
</tr>
</tbody>
</table>
}
頁面的網址是:H **號碼://本地主機:41777/Reporti/Reporti
後點擊搜索按鈕我有這個URL
ħ**號碼://本地主機:41777/Reporti/Reporti datumOD = 2017年3月1日& datumDO = 2017年3月2日
這裏是控制器的代碼
public ActionResult Reporti(string filter, DateTime? datumOD, DateTime? datumDO)
{
Session["invoiceFrom"] = datumOD;
Session["invoiceTo"] = datumDO;
return View();
}
public ActionResult reportIZ(DateTime? datumOD, DateTime? datumDO)
{
var smetkis = db.smetkis.Include(s => s.firmi);
return View(smetkis.ToList());
}
public ActionResult Report(DateTime? datumOD, DateTime? datumDO)
{
var ponudis = db.ponudis.Include(s => s.ponudaDets).Where(x => x.odobreno);
return View(ponudis.ToList());
}
我的問題是,如何實現代碼公衆的ActionResult Reporti過濾日期之間的結果。如果您需要從一次你應該使用Union
2個表中獲取數據
public ActionResult Reporti(DateTime? datumOD, DateTime? datumDO)
{
var ponudis = db.ponudis.Include(s => s.ponudaDets).AsQueryable();
if(datumOD.HasValue) //If we have date - add condition
ponudis = ponudis.Where(x => x.odobreno >= datumOD);
if(datumDO.HasValue) //If we have date - add condition
ponudis = ponudis.Where(x => x.odobreno <= datumDO);
return View(ponudis.ToList());
}
:
胡亂猜測的基礎上,稀疏的信息你給:'VAR filteredResult = db.Whatever.Where(X => X。 datumOD> = datumOD && x.datumDO <= datumDO).ToList()' –
是否可以從兩個表中過濾,例如。 ponudis和smetkis在一起? – Xelmep