0
我有一個按鈕,它的OnClientClick
事件調用Generate()。如何使用Response類創建下載文件,然後與客戶端進行交互?
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)。
@PhaDaPhunk謝謝! – Inbal 2012-07-26 15:03:48