asp.net-mvc – HttpResponseBase的WebResponse.可能吗?
发布时间:2020-12-16 09:56:53 所属栏目:asp.Net 来源:网络整理
导读:在控制器操作中,我使用WebRequest手动将表单发送到远程URL.我成功收到一个包含要显示的html页面的WebResponse.我想将此响应“粘贴”为动作的响应(类型为HttpResponseBase).一个动作通常返回一个ActionResult,那么如何结束我的控制器动作以便结果是WebRespons
在控制器操作中,我使用WebRequest手动将表单发送到远程URL.我成功收到一个包含要显示的html页面的WebResponse.我想将此响应“粘贴”为动作的响应(类型为HttpResponseBase).一个动作通常返回一个ActionResult,那么如何结束我的控制器动作以便结果是WebResponse呢?
注意:浏览器中的Url也必须成为响应的URL. 更新:这是目标.这是在paypal结帐页面上.我想要一个简单的结账按钮链接到我的某个操作,而不是在我的视图中有一个包含所有购物车隐藏字段和结帐提交按钮的表单.在此操作中,我将使用表单准备WebRequest并将其发送到paypal.在操作中执行此操作还允许我将未激活的订单存储在DB表中,以便在订单确认到来时我可以将其与存储的订单进行比较并激活它. 解决方案:感谢那些回答指出这不可能通过POST重定向的人.看来我没有义务通过POST重定向到paypal.相反,我可以构建一个包含查询字符串中所有购物车数据的URL并重定向到它.从控制器操作方法执行此操作仍允许我将挂起的订单存储在数据库中. 谢谢 解决方法
如果您只想在控制器操作的响应中发回WebRequest响应的内容,您可以在操作方法中执行以下操作:
WebRequest req = WebRequest.Create("http://www.google.com"); WebResponse res = req.GetResponse(); StreamReader sr = new StreamReader(res.GetResponseStream()); ContentResult cr = new ContentResult(); cr.Content = sr.ReadToEnd(); return cr; 这更简洁: WebRequest req = WebRequest.Create("http://www.google.com"); WebResponse res = req.GetResponse(); FileStreamResult fsr = new FileStreamResult(res.GetResponseStream(),res.ContentType); return fsr; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 用Scrutor来简化ASP.NET Core的DI注册
- asp.net-mvc – 单元测试RedirectToRouteResult
- ASP.NET page_init事件?
- asp.net-mvc – Asp.Net MVC主题,如何?
- 看美剧英文字幕学英语的利器——“深蓝英文
- asp.net-mvc – 如何更改MVC Core ValidationSummary的默认
- asp-classic – 如何判断ASP中的变量是否已声明
- asp.net-mvc – 从Session_Start调用异步方法
- asp.net – Paypal自适应支付返回网址是两次调用
- asp.net-mvc – .NET MVC自定义验证(无数据注释)
推荐文章
站长推荐
- entity-framework – 如何使用EF更新控制器中的对
- asp.net – 在.NET .NET中ctl00是常量吗?
- asp.net – 如何使RequiredFieldValidator更改父
- Razor Page Library:开发独立通用RPL(内嵌wwwr
- 保持ASP.Net Session活跃的最佳方法
- 可以在ASP.NET用户控件中使用void async方法吗?
- asp.net-mvc-3 – ASP.NET MVC 3本地化验证消息在
- asp.net-mvc – 如何使用activedirectorymembers
- asp.net-web-api – 如何从Web API获取IObservab
- asp.net-mvc – MVC Razor RC 1:可以用字符串常
热点阅读