c# - MVC C# 下载文件并另存为对话框

标签 c# asp.net-mvc

大家好,想知道是否有人可以提供帮助;我已经编写了这段代码,它将生成一个 excel 电子表格并将其保存到指定位置。然后我想通过从存储位置读取文件然后询问用户他们想要存储它的位置来显示“另存为”对话框。 excel文件生成正常,我可以正常打开它!但是我的问题是我编写的代码似乎是将文件直接输出到我的浏览器,所以我在浏览器屏幕上得到了 excel 文件的所有内容,而不是像预期的那样显示另存为对话框!

public ActionResult FormSuccess()
        {
            String FileName = System.Configuration.ConfigurationManager.AppSettings["FileName"].ToString();
            String FilePath = System.Configuration.ConfigurationManager.AppSettings["FileSaveLocation"].ToString();
            System.Web.HttpResponse response = System.Web.HttpContext.Current.Response;
            response.ClearContent();
            response.Clear();
            response.ContentType = "application/vnd.xls";
            response.AddHeader("Content-Disposition", "attachment; filename=" + FileName + ";");
            response.TransmitFile(FilePath + FileName);
            response.End();

            return PartialView("FormSuccess");
        }

最佳答案

哟文斯,技巧怎么样?还戴着奖章吗? :)

您不应该使用 FileContentResult 而不是 PartialView 吗?您将无法在同一调用中返回文件和 HTML“成功”内容 - 您可能应该先调用 PartialView,然后它会使用 javascript 在新窗口中打开 FileContentResult URL。

看这个:http://www.mikesdotnetting.com/Article/125/ASP.NET-MVC-Uploading-and-Downloading-Files

还有这个网址:

http://weblogs.asp.net/rajbk/archive/2010/05/03/actionresult-types-in-mvc2.aspx

关于c# - MVC C# 下载文件并另存为对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6704745/

相关文章:

c# - 如何检查类中的 2 个变量是否相等?

c# - 如何通过 ilnumerics 获得 Moore-Penrose 广义逆

c# - 何时使用 MergeAttribute 而不是 Attributes.Add

c# - 让 DisplayFor(m => m.Property) 显示换行符和格式?

c# - 将复杂结构从 C++ 编码到 C#

c# - 通过标签C#读取xml标签

javascript - 包括 unobtrusive-ajax 使所有脚本停止工作

asp.net-mvc - 从数据库中获取介于 2 个日期之间的数据

c# - FileLoadException 未被用户代码处理

c# - 如何解决 DbContext 上的此 ASP.NET MVC 数据空构造函数警告?