c#第#页卸载与第#页加载后一起点火

c#第#页卸载与第#页加载后一起点火,c#,asp.net,C#,Asp.net,因此,我想在用户关闭浏览器时删除一些文件 我正在使用如下所示的page\u unload方法: protected override void OnUnload(EventArgs e) { base.OnUnload(e); string[] uploadedFiles = Directory.GetFiles(Server.MapPath("~/testPdfIn")); foreach (string uploaded in u

因此,我想在用户关闭浏览器时删除一些文件

我正在使用如下所示的
page\u unload
方法:

   protected override void OnUnload(EventArgs e)
    {
        base.OnUnload(e);
        string[] uploadedFiles = Directory.GetFiles(Server.MapPath("~/testPdfIn"));
        foreach (string uploaded in uploadedFiles)
        {
            File.Delete(uploaded);
        }
    }
但是
page\u unload
方法会在页面加载后立即启动,删除文件夹中的文件,用户甚至不会关闭浏览器


有没有办法阻止加载后立即启动
页面卸载
,并且只有在用户关闭浏览器时才启动?

如果您想在页面卸载中执行某些操作,则应该这样做。使用窗口。onbeforeunload

页面卸载
与浏览器关闭无关。卸载事件在所有页面元素/页面完全加载后发生


<>你应该考虑把文件删除代码放在Goalal.Axax文件

<代码>页面中。
Page.Unload
页面的末尾触发,而不是在浏览器关闭时触发:

页面完全呈现后引发卸载事件, 发送到客户端,并准备丢弃。在这一点上,佩奇 卸载响应和请求等属性,并执行清理 表演


代码隐藏方法是服务器端的,而浏览器关闭是客户端事件。

最好检测浏览器关闭事件,而不是使用ajax调用服务器端函数

<script type="text/javascript">
$(function () {
    $(window).unload(function () {

   jQuery.ajax({ url: "http://localhost:49591/filedelete.aspx", async: false });
      });
});
</script>

$(函数(){
$(窗口)。卸载(函数(){
ajax({url:http://localhost:49591/filedelete.aspx,异步:false});
});
});

这是检测浏览器关闭事件的功能吗?如果是这样的话,我如何调用它以便触发delete file方法?@SamuelTang-您需要像我在代码检查中那样进行ajax调用…使用jquery调用服务器端方法…可以解决这个问题,但我需要在关闭浏览器后立即删除文件。