【发布时间】:2014-12-09 19:36:59
【问题描述】:
我有一个需要使用 HTTP Post 访问的外部网页,并包含在 iframe 中。该网页有一组访问该页面的示例说明,如下所列,但它们假定为 Windows 窗体解决方案;我正在使用 ASP.NET MVC,而不是。
如何将这个以 WebBrowser 为中心的解决方案转换为可以成功发布到外部站点的内容,并将结果加载到 iframe 中?
private WebBrowser wb_inline = null;
private void Submit_Click(object sender, EventArgs e)
{
string url = "http://www.example.com";
string setupParameters = "account_token=abc123";
ServicePointManager.ServerCertificateValidationCallback =
(s, cert, chain, ssl) => true;
ASCIIEncoding encoding = new ASCIIEncoding();
var postData = setupParameters;
if (null == wb_inline)
{
wb_inline = new WebBrowser(this);
wb_inline.Location = new System.Drawing.Point(100, 277);
wb_inline.Size = new System.Drawing.Size(675, 650);
}
Controls.Add(wb_inline);
wb_inline.Visible = true;
string AdditionalHeaders = "Content-Type: application/json";
byte[] data = encoding.GetBytes(postData);
wb_inline.Navigate(payProsUrl, "", data, AdditionalHeaders);
}
有没有办法使用 HttpWebResponse(或其他一些控件)来做这样的事情,并将其包含在 iframe 中?我一直在尝试适应这一点,但还没有成功。
【问题讨论】:
-
为什么不使用 JavaScript 在浏览器中进行呢?在这种情况下,您甚至不需要使用 iframe。
-
@Floremin:最终,我做了类似的事情,尽管 Vsevolod Goloviznin 回答了我所问的问题。在 c# 中将页面加载到 iframe 中的一些问题(即跨域脚本)意味着我改为使用 JavaScript 将网页直接加载到 iframe 中。
标签: c# asp.net asp.net-mvc iframe