Asp.net的Iframe RenderControl

试图在Asp.Net应用程序中呈现IFrame的内容。 这是我现在有。

private void ExportToExcel(Control control) { Response.Clear(); Response.Buffer = true; Response.ContentType = "application/vnd.ms-excel"; Response.AddHeader("content-disposition", "attachment;filename=IT Status "+ReportType.Text+".xls"); Response.Charset = ""; this.EnableViewState = false; StringWriter sw = new StringWriter(); HtmlTextWriter htw = new HtmlTextWriter(sw); control.RenderControl(htw); Response.Write(sw.ToString()); Response.End(); } 

而我的IFrame看起来像这样

 <iframe id="ReportBody" runat="server" src="ITTasksByComponent.aspx" scrolling="auto" visible="true" width="1000" height="1000" /> 

当方法运行时,我得到一个Excel文档
<iframe id="ReportBody" src="ITTaskByAssignment" ></iframe>

我怀疑这是我将不得不在另一个页面上运行客户端使用ajax得到正常工作,但如果有另一个.NET Serverside解决scheme免费…

我猜你正在等待服务器端评估src属性。 要做到这一点,您需要使用WebClient并自行获取。 像这样的东西可能会为你工作。

 byte[] data = new WebClient.DownloadData(ResolveUrl("~/ITTasksByComponent.aspx"); Response.OutputStream.Write(data, 0, data.Length);