2015-01-02 5 views
1

Я хочу выполнить некоторые коды vb.net, когда пользователь закрывает веб-страницу. Что мне делать. У меня есть это, но я не знаю, как его использовать. Я видел кое-какие инструменты где-то, но я не могу его использовать:Как использовать .ashx-файл для выполнения некоторых кодов, когда пользователь закрывает веб-страницу

Вы можете связать вызов ajax с событием html-страницы «beforeunload». Просто убедитесь, что вы вызываете ajax с async false, иначе страница будет закрыта до того, как код удалит строку, которая действительно выполняется. Я предполагаю, что вы используете jQuery для вызова ajax.

Например, в HTML:

<body onbeforeunload="runCode();"> 

ВАШЕМ HTML ....

<script type="text/javascript"> function runCode() { 
    $.ajax({ 
     url: 'YourCode.ashx', 
     async: false, 
     success: function(data) { 
      //Do other things before navigating to other page or closing the browser 
     } 
    }); } 
</script> 
</body> 

файл с именем YourCode.ashx будет содержать код, чтобы удалить дб строку, или то, что вы хочу сделать. Таким образом, код будет запущен, даже если пользователь закроет браузер. Просто обратите внимание, что асинхронный ложный вызов может заблокировать вашу страницу, если у кода в YourCode.ashx есть проблемы.

+0

Итак, где вы перед проблемой? –

+0

Я не знаком с .ashx fine. Например, как я могу использовать этот метод для отображения сообщения непосредственно перед закрытием страницы? Я хочу реализовать этот код в файле .ashx: 'MsgBox (« hi »)' вы также можете увидеть эту страницу: [http://stackoverflow.com/questions/27739233/execute-some-codes-when-closing-an -asp-net-page] – user3724490

+0

есть ошибка: Microsoft JScript ошибка выполнения: '$' не определено – user3724490

ответ

0

Поскольку вы используете jQuery, вы можете использовать unload event. Обязательно включите jQuery.

FYI: Если вы используете JQuery разгружать событие, удалить onbeforeunload="runCode();" из тела тега

<body> 
    <form id="form1" runat="server"> 
     This is content. 

     <script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"> 
     </script> 
     <script type="text/javascript"> 
      $(window).unload(function() { 
       $.ajax({ 
        url: 'YourCode.ashx', 
        async: false, 
        success: function (data) { 
         // Do other things before navigating 
         // to other page or closing the browser 
        } 
       }); 
      }); 
     </script> 
    </form> 
</body> 
+0

Я не использую jquery, так что я должен использовать? – user3724490

+0

@ user3724490 $ .ajax is [jQuery.ajax()] (http://api.jquery.com/jquery.ajax/). Вы используете ** jQuery ** * (хотя вы этого не знали) *, но вы не включили ** jQuery Script **. Именно поэтому вы получаете «Ошибка выполнения Microsoft JScript: ошибка« $ »является неопределенной». – Win