首先先说一下Redriect 和RedirectToAction
两个没什么区别,都是向浏览器发送302 Found相应,再有浏览器向对应的url进行请求
只是参数的意义不同而已
再说Redirect 和 View 的区别
-
Redirect是让浏览器重定向到新的地址,而return View是让服务器把制定的cshtml的内容运行渲染后给到浏览器。
-
Redirect浏览器和服务器之间发生了2次交互,return View浏览器和服务器之间只发生了1次交互
-
Redirect由于是两次请求,所以第一次设置的ViewBag等这些信息,在第二次请求是取不到的,而View则是在同一个请求中,所以ViewBag信息可以取到。
-
如果用Redirect,则由于是新的对Controller/Action 的请求,所以对应的Action会被执行到。如果用View, 则是直接拿某个View去显示,对应的Action是不执行的
使用View 和Redirect 的情况
如果需要将产生的数据显示给浏览器,则使用View,
如果想让浏览器去访问另外一个页面的时候