Asp.net mvc MVC-如何在mvc3中使用ajax下载csv文件
我在使用$.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>");
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';
});