所以我了解了prg模式的基础知识。但是我还没有遇到一种使页面的“get”实例可以使用任意数据的技术。
例如,我可能希望根据用户启动回发的操作向用户显示不同的反馈消息。
我一直在做的是发送一个标识符作为查询字符串参数。这工作正常,但它引入了书签问题,并且似乎不能很好地扩展。如果我需要发送所有的 ViewState 怎么办?
不幸的是,我目前与 WebForms 相关并且无法说服我的组织迁移到 mvc。
最佳答案
如果 POSTed 字段在重定向之前被持久化,并且您需要在重定向之后访问该数据,我会在您提到的查询字符串上附加数据记录的标识符。您还可以指定请求的状态(用于显示消息等)。然后在 GET 页面上,您可以读出数据并对其进行任何操作。
我没有看到任何其他方法来解决这个问题,因为 GET 获得的每个页面都无法访问上一页的 ViewState
等等。
使用 Server.Transfer
将与处理原始页面上的 POST 具有相同的效果。
您可以使用 Session 变量来存储 POST 数据,但这很糟糕。
关于asp.net - 如何在 asp.net WebForms 中实现 Post/Redirect/Get 模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/919516/