在 ASP.NET MVC 中实现 Post/Redirect/Get 模式的最佳实践是什么?特别是,当您想重定向回初始操作/ Controller 时,执行此操作的最佳方法是什么?
这是我目前的做法:
- 向用户显示表单。
- 在表格中,使用
<%= Html.Hidden("returnUrl") %>
- 在行动中,使用
ViewData["returnUrl"] = Request.Url;
- 在表格中,使用
- 用户通过 POST 提交表单
- 重定向到
returnUrl
模型绑定(bind),如果没有null
.否则,重定向到主页。
这样就完成了工作,但感觉这会导致大量重复。我还意识到我可能会重定向到 Request.UrlReferrer
...
您认为实现此目的最干净、最理想的方法是什么?
最佳答案
您这样做的方式很好,但看起来您可能想得太多了。您的 POST 操作是否采用来自多个表单的表单帖子?如果不是,为什么还要使用隐藏的表单域呢?您可以使用简单的 RedirectToAction("MyAction")
关于c# - ASP.NET MVC 中的发布/重定向/获取模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2120882/