直接上源码
public ActionResult Medical_s(string txtHd, string txtAD, string txtDate1, string txtDate2, int? page)
{
string mhd = txtHd;
string mad = txtAD;
string mdate1 = txtDate1;
string mdate2 = txtDate2;
DateTime date1 = DateTime.MinValue;
DateTime date2 = DateTime.MaxValue;
if (!string.IsNullOrEmpty(mdate1))
{
date1 = Convert.ToDateTime(mdate1);
}
if (!string.IsNullOrEmpty(mdate2))
{
date2 = Convert.ToDateTime(mdate2);
}
const int pageSize = 10;
int currentPage = (page ?? 1);
var All = (from m in db.MMH
where (m.HOSPTIAL_ID.Contains(mhd) && m.ADMISSION_NO.Contains(mad) && m.ADMISSION_DATE >= date1 && m.DISCHARGE_DATE <= date2)
select m).OrderBy(s => s.ADMISSION_NO);
IPagedList<MMH> Alls = All.OrderBy(s => s.ADMISSION_NO).ToPagedList(currentPage, pageSize);
Page vdata = new Page();
vdata.MMHs = Alls;
vdata.S1 = mhd;
vdata.S2 = mad;
vdata.S3 = mdate1;
vdata.S4 = mdate2;
return View(vdata);
}
下面是页面跳转传参的源码
@Html.PagedListPager(Model.MMHs, page => Url.Action("Medical_s", new { txtHd=Model.S1, txtAD=Model.S2, txtDate1=Model.S3, txtDate2=Model.S4, page }))
现在的疑惑是,每当执行查询的时候,第一页看起来并没有问题,可是当你尝试跳转到第二页时,返回值却为空。
经过断点检查后,发现错误出现在linq语句那里。明明查询条件已经赋值了,Linq查询结果还是为0,请问我的错误到底出现在哪里