MVC中Redirect和return View 的区别
- Redirect是让浏览器重定向到新的地址;return View是让服务器把指定的cshtml的内容运行渲染后给到浏览器;
- Redirect浏览器和服务器之间发生了两次交互;return View浏览器和服务器之间发生了1次交互
- Redirect由于是两次请求,所以第一次设置的ViewBag等这些信息,在第二次是取不到;而View则是在同一个请求中,所以ViewBag信息可以取到。
- 如果用Redirect,则由于是新的对Controller/Action的请求,所以对应的Action会被执行到。如果用View,则是直接拿某个View去显示,对应的Action是不执行的。
- 什么情况用View?服务器端产生数据,想让一个View去显示的;
- 什么情况用Redirect?让浏览器去访问另外一个页面的时候。