2012-05-09 3 views
0

Так что я хочу удалить некоторые файлы, когда пользователь закрывает браузер.C# page_unload стрельба вместе с после page_load

Я использую метод page_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_unload просто стрелять сразу после загрузки страницы, удалив файлы в папке без пользователь даже не закрывая браузер.

Есть ли способ остановить page_unload от стрельбы сразу после загрузки и только стрельба, когда пользователь закрывает браузер?

ответ

1

Это лучше вы обнаружить браузер событие закрытия и чем позвонить þér на стороне сервера функции с помощью Ajax будет делать для вас

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

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

Итак, это функция для обнаружения события закрытия браузера? Если да, то как я вызываю его так, чтобы метод файла удаления был уволен? –

+0

@SamuelTang - вам нужно поставить ajax-вызов, как я сделал в моей проверке кода ... вызов метода serveride с jquery ... сделает для вас –

1

Вот как это Шоуда будет работать, если вы хотите сделать что-то страницы разгрузить .use window.onbeforeunload

0

Page_Unload не имеет ничего общего с браузером близко. Событие «Разгрузка» происходит после того, как весь элемент страницы/страница полностью загружена.

Вы должны рассмотреть вопрос о создании вашего файла код удаления в session_end в global.asax файле

+0

Пробовал это, но мне нужно, чтобы файлы были удалены сразу после закрытия браузера , –

0

Page.Unload не работает, как вы думаете, это работает. Page.Unload обжигают в конце Pagelife-cycle, а не тогда, когда браузер закрыт:

событие Unload поднят после того, как страница была полностью оказана, отправляется клиенту, и готов быть отброшены , В этот момент страницы , такие как Response and Request, выгружаются и очищаются .

Методы обработки кода на стороне сервера, в то время как браузер закрывается, это событие на стороне клиента.

Смежные вопросы