ボタンがあり、そのOnClientClick
イベントはGenerate()を呼び出します。
function Generate() {
window.open('GenerateKey.aspx', '_newtab', 'titlebar = no', false);
PageMethods.SendKey(SendKeyCallback, SendKeyCallbackError);
}
コールバック関数は、読み込み中のgifを非表示にし、ステータス(成功/失敗)を警告します
GenerateKey.aspxはファイルを作成し、ダウンロードポップアップを開きます。
これはpage_loadコードです:
string keyFileName = orgName + "-" + timeStamp + ".ckey";
fs = new FileStream(Server.MapPath("~/License/Generate/" + keyFileName), FileMode.Create, FileAccess.ReadWrite);
sw = new StreamWriter(fs);
sw.Write(generatedKey);
sw.Flush();
fs.Close();
Response.ContentType = "text/xml";
Response.AppendHeader("Content-Disposition", "attachment; filename=" + keyFileName);
Response.TransmitFile(Server.MapPath("~/License/Generate/" + keyFileName));
Response.End();
コードは正常に機能しますが、私の問題は、ダウンロードが画面に表示された後に新しいタブが閉じられることです(これは、Responseオブジェクトが原因で発生すると思います)。バグのように見えます。
新しい空白のタブが1秒間ポップアップ表示された後、閉じました。
誰かがそれをより良く見せるための方法を知っていますか?ファイルの生成後、クライアントに接続できなくなったため、同じページでそれを行うことはできません(そのため、window.openを使用しました)。