在控制器操作中,我使用 WebRequest 手动将表单发送到远程 URL。我成功接收到一个包含要显示的 html 页面的 WebResponse。我想将此响应“粘贴”为操作的响应(类型为 HttpResponseBase)。一个动作通常会返回一个 ActionResult,那么我如何结束我的控制器动作以便 WebResponse 成为结果?
注意:浏览器中的 Url 也必须成为响应的 url。
更新:这是目标。这是在贝宝结帐页面上。我不想在我的视图中拥有一个包含所有购物车隐藏字段和一个结帐提交按钮的表单,我想要一个链接到我的一个操作的简单结帐按钮。在此操作中,我将准备带有表单的 WebRequest 并将其发送到 paypal。在操作中执行此操作还允许我将未激活的订单存储在数据库表中,这样当订单确认到来时,我可以将其与存储的订单进行比较并激活它。
解决方案:感谢那些回答指出无法通过 POST 重定向的人。看来我没有义务通过 POST 重定向到贝宝。相反,我可以使用查询字符串中的所有购物车数据构造一个 URL 并重定向到它。从控制器操作方法执行此操作仍然允许我将挂单存储在数据库中。
谢谢