ポストバックを使用して次のコードを試すと、ファイルのダウンロードは正常に行われます。
FileInfo file = new FileInfo("C:\\a.txt");
Response.ClearContent();
Response.AddHeader("Content-Disposition", "attachment; filename=" + file.Name);
Response.AddHeader("Content-Length", file.Length.ToString());
Response.ContentType = "text/plain";
Response.TransmitFile(file.FullName);
Response.End();
ただし、上記のコードをパブリック静的Webメソッド内に配置し、AJAXで呼び出すと、「プロセスが中止されました」などのエラーが発生します(もちろん、現在の応答を取得するには、HttpContext.Current.Responseと記述します)。 2つの応答の性質が異なること。私の質問は、それらが異なる場合、正確には何が違うのかということです。AJAXで同じことを達成する方法はありますか?