我有一个按钮,它的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 的原因)。