Jquery 导出到Excel-IE8

Jquery 导出到Excel-IE8,jquery,asp.net-mvc-2,internet-explorer-8,export-to-excel,Jquery,Asp.net Mvc 2,Internet Explorer 8,Export To Excel,以下导出代码适用于IE7和FF,但不适用于IE8。为了在IE8中工作,需要做哪些更改 public override void ExecuteResult(ControllerContext context) { this.WriteFile(HtmlTable); } void WriteFile(string content) { HttpContext context = Ht

以下导出代码适用于IE7和FF,但不适用于IE8。为了在IE8中工作,需要做哪些更改

public override void ExecuteResult(ControllerContext context)
        {
            this.WriteFile(HtmlTable);
        }

        void WriteFile(string content)
        {
            HttpContext context = HttpContext.Current;
            context.Response.Clear();
            context.Response.AddHeader("content-disposition", "attachment;filename=\"" + _fileName + "\"");
            context.Response.Charset = "";
            //context.Response.Cache.SetCacheability(HttpCacheability.NoCache);
            context.Response.ContentType = "application/ms-excel";
            context.Response.Write(content);
            context.Response.End();
        }
这就是我们从前端对其的称呼:

function resultsGridExportToExcel()
        {
            var exportUrl = '/extranet/mvc/Indications.cfc/SavedIndicationsExportToExcel?id=3'; 
            var postData = jQuery('#resultsGrid').jqGrid('getGridParam', 'postData'); 
            $.each(postData, function(key, value) 
            { 
                exportUrl += '&'+key+'='+encodeURIComponent(value); 
            }); 
            $('#SaveIndicationsExportForm').attr('action', exportUrl).submit(); 
        }
以下是控制器方法:

[HttpPost]
        public System.Web.Mvc.ActionResult SavedIndicationsExportToExcel(string sidx, string sord, int page, int rows)
        {
            SavedIndication indication = new SavedIndication();

            var jqGridData = indication.GetSavedIndications(sidx, sord, 1, Int32.MaxValue);
            var gridDefinition = SavedIndication.GridDefinition;

            string filename = "Indications Calculator - Saved Indications";

            string htmlTable = jqGridData.RenderHtmlTable(gridDefinition.RetrieveColumnHeaders());
            htmlTable = Chatham.Web.Controllers.ExcelResult<string>.RemoveImages(htmlTable);
            return new ExcelResult() { FileName = filename, HtmlTable = htmlTable };
        }
[HttpPost]
public System.Web.Mvc.ActionResult SavedIndicationsExportToExcel(字符串sidx、字符串sord、整型页面、整型行)
{
SavedIndication指示=新的SavedIndication();
var jqGridData=indication.GetSavedIndications(sidx,sord,1,Int32.MaxValue);
var gridDefinition=SavedIndication.gridDefinition;
string filename=“显示计算器-保存的显示”;
字符串htmlTable=jqGridData.RenderHtmlTable(gridDefinition.RetrieveColumnHeaders());
htmlTable=Chatham.Web.Controllers.ExcelResult.RemoveImages(htmlTable);
返回新的ExcelResult(){FileName=FileName,HtmlTable=HtmlTable};
}

它一路调试,没有错误,运行良好,但在IE8中不生成任何输出,只在IE7和FF中生成。看起来这是IETester的问题

它不喜欢弹出窗口,必须弹出一个屏幕才能下载。在一台真正的IE机器上,这起作用了