![]() |
1
5
更新:是的。 使用/product/id/进行查看,使用/product/id/编辑进行编辑,编辑后将其重定向到/product/id/。 问题解决了。想知道您为什么使用/product/id/edit进行查看和编辑。 |
![]() |
2
8
虽然我同意前面的回答中所说的,即在发布完成后不再将用户返回到编辑视图;但这并不能回答为什么按刷新重新发布表单的问题。 这里是解决“在浏览器中刷新导致另一篇文章”问题的解决方案。 目前,您正在进行以下操作:
当你真的应该这样做的时候:
关键是,不要返回视图以响应日志,否则浏览器中的最后一个请求是日志请求,在浏览器中按刷新将重新发布。相反,当完成post操作后,使用redirectToAction()重定向到“get”操作。get操作反过来返回视图。这意味着浏览器中的前一个请求是一个GET请求,如果您按下“刷新”,它将再次收到该请求,而不会重新发送该请求。我在开始使用MVC时也犯了同样的错误。 |
![]() |
3
1
如果你 真的? 希望有相同的页面用于查看和编辑,并且需要处理 并发性 您可以包括保留上次更新日期的隐藏字段。所以流量是:
这只是另一个选择。 |
![]() |
4
0
|
![]() |
5
0
你是说当用户点击刷新时,你会得到一个过时的视图。因此,我假设您的get操作正在使用post操作中存储在tempdata中的某个对象。在这种情况下,可能的解决方法是使用会话而不是tempdata来存储post操作的结果。 |
![]() |
6
0
为了使您的发布表单以您描述的方式工作,它需要从数据库中读取数据并预填充表单上的字段。它需要从您第一次输入相关的URL开始执行此操作。 然后,在发布时,需要在验证后将值保存到数据库中。这将完成您的往返循环。 如果页面是空白的“新记录”页面,那么您是对的,它只会在验证失败时往返一次。在F5上,按设计,它只会给你一个新的空白表单。 |