預設頁面最常會因為業務的策略因素進行調整,這時候散落在各地的連結都要調整,費工又容易漏。
預設查詢這個麻煩點在於參數會變動,散落在各地的連結一樣是個麻煩。
但重導向這種方式也是有損失的,將會多一個 HTTP 請求,這對 UI 反應速度很要求的狀況來說,並不是一個好方法,可能就要改用統一網址管理來處理。
利用 MVC 的 Index() 來控制預設頁面,Index 將不會有實體頁面,而是用來進行重導向。
public class UserController : Controller { public ActionResult Index() { return RedirectToAction(nameof(List)); } public ActionResult List(DateTime? date) { //... return View(); } }
判斷 QueryString 為空時,進行預設查詢的重導向,以 QueryString 為判斷點的好處是有時候就是要查詢全部資料,這樣就不會被預設查詢卡到。
public class UserController : Controller { public ActionResult List(DateTime? date) { if (Request.QueryString.Count == 0) { RedirectToAction(nameof(List), new { date = DateTime.Today.ToString("yyyy-MM-dd") }); } //... return View(); } }
沒有留言:
張貼留言
你好!歡迎你在我的 Blog 上留下你寶貴的意見。