//public ActionResult Query(BillQueryViewModel query, int? page = 1) public ActionResult Query(BillQueryViewModel query) { //定位在當初輸入資料的那個值 ViewBag.BillTypes = new SelectList(GlobalCodeMappings.BillTypes, "Key", "Value", query.BillType); #region Model 檢查 //輸入資料驗證 if (!ModelState.IsValid) { return(View(query)); } #endregion #region 呼叫服務層 //已通過資料驗證 int?page = query.PageIndex; //原本由 HttpGet 的 QueryString 取得, 改由 Form 取得 int pageNumber = (!page.HasValue ? 1 : (page.Value < 1 ? 1 : page.Value)); var bills = _billingSvc.GetByQuery(query); var result = bills.ToPagedList(pageNumber, pageSize); query.QueryResult = result; #endregion #region 回傳結果 return(View(query)); #endregion }