[英]Redirecting when the querystring is empty
在我的項目中,我有兩個公交服務控制器,分別是公交路線和公交路線停靠站。 為了訪問路線停靠站,您需要選擇一條公交路線,如果尚未選擇路線,我需要重定向回到公交路線索引。 我做了一個If else語句來檢查查詢字符串和保存該信息的cookie。
當我直接去公交路線停靠站控制器時,它應該讓我回到公交路線列表,但事實並非如此。
public ActionResult Index()
{
string busRouteCode = "";
//checks query string to see if empty
if (Request.QueryString == null)
{
//checks the cookies to see if empty
if (Request.Cookies["busRouteCode"] == null)
{
//if empty returns to bus route controller.
return View("index", "snBusRoutes");
}
else
{
busRouteCode = Response.Cookies["busRouteCode"].Value;
}
}
else
{
busRouteCode = Request.QueryString["busRouteCode"];
}
var routeStops = db.routeStops.Include(r => r.busRoute).Include(r => r.busStop);
return View(routeStops.ToList());
}
我不認為Request.QueryString
整體不會為null 。 盡管特定值可以為null或為空。 像這樣:
if (string.IsNullOrWhiteSpace(Request.QueryString["busRouteCode"]))
if (string.IsNullOrWhiteSpace(Request.Cookies["busRouteCode"]))
return View("index", "snBusRoutes");
更新:在語義上,在這種情況下,執行重定向可能比返回視圖更好。 用戶正在發出特定請求,但是該請求將他們定向到其他地方。 他們應該知道他們要去其他地方。 像這樣:
if (string.IsNullOrWhiteSpace(Request.QueryString["busRouteCode"]))
if (string.IsNullOrWhiteSpace(Request.Cookies["busRouteCode"]))
return RedirectToAction("index", "controllerName");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.