运行 响应前的 javascript 代码直接在 asp.net 代码后面

run a javascript code before response direct in asp.net code behind

我在 .aspx 页面中有这段代码:(它阻止页面在没有确认的情况下响应)

    <script type="text/javascript">
         window.onbeforeunload = confirmExit;
         function confirmExit() {
             return 'آیا مایل به خروج از صفحه هستید؟';
         }

    </script>

我想下载一个包含以下代码的文件,我需要 运行 一个 javascript 代码来禁用上面的代码,但我的 javascript 代码不起作用。

ScriptManager.RegisterStartupScript(this, typeof(Page), "DisableOnbeforeunload", " window.onbeforeunload = '';", true);
Response.Redirect("doc1.docx", false);

您需要使用 JavaScript 在 client-side 上进行重定向:

ScriptManager.RegisterStartupScript(this, typeof(Page), "DisableOnbeforeunload",
   "window.onbeforeunload='';window.location.href='doc1.docx';", true);

说明:此时,您执行 Response.Redirect 的地方不再有内容(包括启动脚本)发送到客户端,只有重定向 header.