由于我是新来的ASP.NET MVC有谁能够告诉我之间的差异return RedirectToAction()
和return View()
?
Nar*_*aen 21
return View()
告诉MVC生成要显示的HTML并将其发送到浏览器.
RedirectToAction()
告诉ASP.NET MVC使用浏览器重定向来响应不同的操作而不是呈现HTML.浏览器将收到重定向通知,并对新操作发出另一个请求.
一个例子 ...
假设您正在构建一个表单来收集和保存数据,您的URL看起来就像SomeEntity/Edit/23
.在"编辑"操作中,您将return View()
使用输入字段呈现表单以收集数据.
对于此示例,假设在成功保存数据时,您希望显示已保存的数据.处理完用户提交的数据后,如果您执行的操作类似于RedirectToAction("Index")
Index将显示数据的操作.浏览器将获得HTTP 302(临时重定向)/SomeEntity/Index/23
.
Aru*_*age 13
View
不会发出新请求,只是在不更改浏览器地址栏中的URL的情况下呈现视图.RedirectToAction
发出新请求,并使用MVC生成的URL更新浏览器地址栏中的URL.Redirect
也会发出新请求,并且浏览器地址栏中的URL会更新,但您必须指定完整的URL.RedirectToRoute
重定向到路由表中定义的指定路由.在RedirectToAction
和之间Redirect
,最佳实践是
RedirectToAction
用于处理应用程序操作/控制器的任何事情.如果您使用Redirect
并提供URL,则需要在更改路由表时手动修改这些URL.
归档时间: |
|
查看次数: |
9933 次 |
最近记录: |