C# ASP.net MVC4中不带页面导航的导出文件按钮

C# ASP.net MVC4中不带页面导航的导出文件按钮,c#,asp.net,excel,asp.net-mvc-4,C#,Asp.net,Excel,Asp.net Mvc 4,我正在使用ASP.net MVC4 web应用程序,希望支持从excel导入/导出到excel的功能。我已经编写了导出到excel的代码(或操作),但在编写导入/导出按钮时遇到了问题 具体地说,我只需要按钮,它只调用导出操作,而不在当前页面上执行任何操作 代码 项目详细信息页面(视图):在项目详细信息上,我有以下按钮 ExcelController具有ExportToFile方法 我尝试使用Ajax.ActionLink和Html.ActionLink,但在这两种情况下,页面都会导航到您希望方法

我正在使用ASP.net MVC4 web应用程序,希望支持从excel导入/导出到excel的功能。我已经编写了导出到excel的代码(或操作),但在编写导入/导出按钮时遇到了问题

具体地说,我只需要按钮,它只调用导出操作,而不在当前页面上执行任何操作

代码

  • 项目详细信息页面(视图):在项目详细信息上,我有以下按钮
  • ExcelController具有ExportToFile方法

  • 我尝试使用Ajax.ActionLink和Html.ActionLink,但在这两种情况下,页面都会导航到您希望方法签名看起来像

    localhost:52725/Excel/ExportToFile?pid=41
    public FileContentResult ExportToFile(int pid = 0) 
    
    以及使用该方法的输出

    差不多

    return File(fileBytes, "application/vnd.ms-excel", unique generated file name);
    
    从控制器返回并最终将数据发送到浏览器

    作为一个简单的测试

    return this.File(new System.Text.UTF8Encoding().GetBytes("my plain text content"),
                         "text/plain", 
                         "my_file.txt");
    

    应该返回纯文本文件。

    您希望方法签名看起来像

    public FileContentResult ExportToFile(int pid = 0) 
    
    以及使用该方法的输出

    差不多

    return File(fileBytes, "application/vnd.ms-excel", unique generated file name);
    
    从控制器返回并最终将数据发送到浏览器

    作为一个简单的测试

    return this.File(new System.Text.UTF8Encoding().GetBytes("my plain text content"),
                         "text/plain", 
                         "my_file.txt");
    
    应返回纯文本文件