为什么我的保存/打开对话框没有弹出?

本文关键字:打开对话框 我的 保存 为什么 | 更新日期: 2023-09-27 18:17:49

我有一个MVC动作方法,它使一个ajax调用导出数据到excel,但打开/保存对话框没有出现。下面是javascript代码:

exportExcel = function(el, e, oSettings) {
        Json = self.searchCriteria;
    $.post(url, Json, function(data) {
    }, 'json');
};

下面是Action Method:

public ActionResult ExportToExcel(JsonDictionary args)
    {
        var data= GetData();
        using (var package = new ExcelPackage())
        {
            string filename = "Data + ".xlsx";
            //Create the worksheet
            ExcelWorksheet ws = package.Workbook.Worksheets.Add("Data");
            //Load the datatable into the sheet, starting from cell A1. Print the column names on row 1
            ws.Cells["A1"].LoadFromCollection(data, true);
            var stream = new MemoryStream();
            package.SaveAs(stream);
            const string contentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
            stream.Position = 0;
            return File(stream, contentType, filename);
        }
    }

为什么我的保存/打开对话框没有弹出?

问题是不能通过ajax调用下载文件。如果你看这个:

http://filamentgroup.com/lab/jquery_plugin_for_requesting_ajax_like_file_downloads/

允许使用动态iFrame下载ajax文件。