Redirect:重定向
Redirect(域名后面的地址)
public ActionResult Index() { return Redirect("Test4/Test4"); }
RedirectToAction(string actionName,string controllerName):重定向,可以/controllerName/actionName拼接生成url,最終內部還是調用了Redirect
public ActionResult Test4() { return RedirectToAction("RedirectToActionTest"); }
View(同一個控制器中的Action方法):跳轉到同一個控制器下的一個Action方法
public ActionResult RedirectToActionTest() { return View("ViewTest"); } public ActionResult ViewTest() { return View(); }
Redirect和View的區別:
1.Redirect是讓瀏覽器重定向到新的地址;View是讓服務器把指定的cshtml的內容運行渲染后給到瀏覽器。
2.Redirect瀏覽器和服務器之間發生了兩次交互;View瀏覽器和服務器之間發生了一次交互。
3.Redirect由於是兩次請求,所以第一次設置的ViewBag等這些信息,在第二次是取不到的;而View則是在同一個請求中,所以ViewBag信息可以取到。
4.如果用Redirect,則由於是對新的Controller/Action的請求,所以對應的Action會被執行到。如果用View,則是直接拿某個View去顯示,對應的Action是不執行的。
什么情況下使用View?服務器端產生數據,想讓一個View去顯示的;
什么情況下使用Redirect?讓瀏覽器去訪問另一個界面的時候。