我们使用jquery扩展打开了一个弹出窗口。我们的要求是 单击弹出窗口中的按钮下载文件。我的代码就像 这个: -
JS code:-
showModalData: function (obj) {
var url = OC.MVC.util.getLink("Employee", "GetDetail");
$.ajax({
url: url,
type: 'GET',
success: function (result) {
$.modal(result);//open the modal popup
},
error: function (err) {
alert(err.responseText);
}
});
}
Controller code:-
public virtual ActionResult GetDetail(Employee model)
{
return PartialView(model);
}
View:-
<div>
@Html.Raw(Html.Button("btnDownload", "Download").ToString())
<div>
现在点击下载我必须下载此代码的文件 是: -
public ActionResult Download()
{
byte[] fileBytes = System.IO.File.ReadAllBytes(@"c:\New\note.txt");
string fileName = "note.txt";
return (File(fileBytes, System.Net.Mime.MediaTypeNames.Application.Octet, fileName));
}
点击下载按钮,它将调用定义的下载操作 在控制器中。现在返回(文件(fileBytes, System.Net.Mime.MediaTypeNames.Application.Octet,fileName));应该 打开保存对话框以选择保存文档的路径。但是 它没有打开保存对话框。它也没有显示错误 并且没有任何事情发生。注意:Modal Popup中的下载按钮。
答案 0 :(得分:1)
您需要确保通过浏览器的正常HTTP请求调用下载操作,而不是通过JavaScript启动的AJAX调用。