Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc MVC-如何在mvc3中使用ajax下载csv文件_Asp.net Mvc_Jquery_Export To Csv - Fatal编程技术网

Asp.net mvc MVC-如何在mvc3中使用ajax下载csv文件

Asp.net mvc MVC-如何在mvc3中使用ajax下载csv文件,asp.net-mvc,jquery,export-to-csv,Asp.net Mvc,Jquery,Export To Csv,我在使用$.ajax()下载csv文件时遇到问题;代码 我有一个控制器,它返回的文件如下 public ActionResult ExportEx() { StringBuilder sb = new StringBuilder(); sb.Append("<table>"); sb.Append("<tr>"); sb.Append("<td>1</td>");

我在使用$.ajax()下载csv文件时遇到问题;代码

我有一个控制器,它返回的文件如下

public ActionResult ExportEx()
{
   StringBuilder sb = new StringBuilder();
        sb.Append("<table>");            
        sb.Append("<tr>");
        sb.Append("<td>1</td>");
        sb.Append("<td>2</td>");
        sb.Append("<td>3</td>");
        sb.Append("<td>4</td>");
        sb.Append("</tr>");
        sb.Append("<table>");         

    HttpContext.Response.AddHeader("content-disposition", "attachment; filename=student_" + DateTime.Now.Year.ToString() + ".xls");
    this.Response.ContentType = "application/vnd.ms-excel";
    byte[] buffer = System.Text.Encoding.UTF8.GetBytes(sb.ToString());
    return File(buffer, "application/vnd.ms-excel");
}
public ActionResult ExportEx()
{
StringBuilder sb=新的StringBuilder();
某人加上(“”);
某人加上(“”);
某人附加(“1”);
某人附加(“2”);
某人附加(“3”);
某人附加(“4”);
某人加上(“”);
某人加上(“”);
HttpContext.Response.AddHeader(“内容处置”,“附件;文件名=student_”+DateTime.Now.Year.ToString()+”.xls”);
this.Response.ContentType=“应用程序/vnd.ms excel”;
byte[]buffer=System.Text.Encoding.UTF8.GetBytes(sb.ToString());
返回文件(缓冲区,“application/vnd.ms excel”);
}
我有index.cshtml文件,如下所示

<input type="submit" value="Export To Excel" title="Export To excel" />        

<script type="text/javascript">
    $(".tt").click(function () {
        $.ajax({
            url: '/Home/ExportEx',
            type: 'POST',
            data: {},
            success: function (data) { },
            complete: function (data) { }
        });
    });
</script>

$(“.tt”)。单击(函数(){
$.ajax({
url:“/Home/ExportEx”,
键入:“POST”,
数据:{},
成功:函数(数据){},
完成:函数(数据){}
});
});
如果我使用
调用,我可以下载csv文件。但是通过
$.ajax
调用我无法下载

请在这方面帮助我


提前感谢。

为什么要通过ajax实现这一点?你不能用actionLink下载文件吗?我需要把一些动态值传递给action方法。因此,我使用ajax调用,您可以使用隐藏的表单元素将动态值传递给控制器。我认为ajax在这里不是正确的方法。
        $('button').click(function () {
            window.location.href = '/Home/ExportEx';
        });