なぜこれが発生するのかわかりませんが、「ActionLink」からアクションを呼び出すと正しく動作しますが、javascript から呼び出すと動作しません。どちらのメソッドも「ExportFile」メソッドに到達しますが、「ActionLink」のみが、ファイルをダウンロードするときに Chrome のブラウザの下部にファイルを表示しますが、javascript 呼び出しには表示されません。以下は私のアクションメソッドで、その下は私のビューです。一方が機能するのに、もう一方が機能しないのはなぜですか?
public FilePathResult ExportFile()
{
string path = @"c:\1\text.xxx";
bool ex = System.IO.File.Exists(path);
return File( path,"application/text", "text.xxx");
}
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<input type="button" id="Export" value="Export" />
<%=Html.ActionLink("export", "ExportFile") %>
<div id="ExportProgress"></div>
<script type="text/javascript">
$(document).ready(function () {
$("#Export").bind("click", ExportHandler);
//alert("bind");
});
function ExportHandler() {
$.get("/DataExport/ExportFile", function () { }, 'html');
}
</script>