<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://forums.asp.net/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>ASP.NET AJAX Discussion and Suggestions</title><link>http://forums.asp.net/1007.aspx</link><description>This forum is the place for ASP.NET AJAX 'getting started' questions, general questions that don't fit in one of the other forums about AJAX </description><dc:language>en</dc:language><generator>CommunityServer 2007 SP1 (Build: 20510.895)</generator><item><title>Re: How to know if user close the browser or navigate to another page ?</title><link>http://forums.asp.net/thread/2198846.aspx</link><pubDate>Wed, 27 Feb 2008 13:45:18 GMT</pubDate><guid isPermaLink="false">4c671506-2930-414c-a40b-8bf57ded5924:2198846</guid><dc:creator>HarveyTriana</dc:creator><slash:comments>0</slash:comments><comments>http://forums.asp.net/thread/2198846.aspx</comments><wfw:commentRss>http://forums.asp.net/commentrss.aspx?SectionID=1007&amp;PostID=2198846</wfw:commentRss><description>&lt;p&gt;Hi- &lt;/p&gt;
&lt;p&gt;Thanks a lot for your help. I did know the client side code. I wish complement reply with the server side code. &lt;/p&gt;
&lt;p&gt;My original question is &amp;quot;How to know if user close the browser or navigate to another page ?&amp;quot;... missing: &amp;quot;I need run something in backend&amp;quot;.&lt;br /&gt;Right, to send an event to server side from client, we need a callback. I am working an approach that’s works fine:&lt;/p&gt;
&lt;p&gt;Simple sample:&lt;br /&gt;...&lt;br /&gt;using System.IO;&lt;br /&gt;...&lt;br /&gt;public partial class test : System.Web.UI.Page, System.Web.UI.ICallbackEventHandler&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; protected void Page_Load(object sender, EventArgs e)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ClientScriptManager cs = Page.ClientScript;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string er = ClientScript.GetCallbackEventReference(this, &amp;quot;&amp;quot;, &amp;quot;null&amp;quot;, &amp;quot;null&amp;quot;, &amp;quot;null&amp;quot;, true);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string rb = &amp;quot;function callServerTask(arg) {&amp;quot; + er + &amp;quot;;}&amp;quot;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cs.RegisterClientScriptBlock(this.GetType(), &amp;quot;callServerTask&amp;quot;, rb, true);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // body has attribute rutat=server id=body&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; body.Attributes.Add(&amp;quot;onunload&amp;quot;, &amp;quot;callServerTask(&amp;#39;&amp;#39;);return false;&amp;quot;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void RaiseCallbackEvent(string eventArgument)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CloseMe();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public string GetCallbackResult()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return &amp;quot;&amp;quot;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private void CloseMe()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // to test that callback works&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; StreamWriter s = new StreamWriter(Server.MapPath(&amp;quot;closehistory.txt&amp;quot;), true);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; s.WriteLine(&amp;quot;close at:&amp;quot; + DateTime.Now.ToString());&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; s.Close();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;}&lt;/p&gt;
&lt;p&gt;Warning: In IDE of Visual Studio works when navigate to another page. In production, works always.&lt;/p&gt;
&lt;p&gt;Regards.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description></item><item><title>Re: How to know if user close the browser or navigate to another page ?</title><link>http://forums.asp.net/thread/2121753.aspx</link><pubDate>Mon, 21 Jan 2008 09:38:08 GMT</pubDate><guid isPermaLink="false">4c671506-2930-414c-a40b-8bf57ded5924:2121753</guid><dc:creator>Jin-Yu Yin - MSFT</dc:creator><slash:comments>0</slash:comments><comments>http://forums.asp.net/thread/2121753.aspx</comments><wfw:commentRss>http://forums.asp.net/commentrss.aspx?SectionID=1007&amp;PostID=2121753</wfw:commentRss><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;Thank you for your post!&lt;/p&gt;
&lt;p&gt;There are two ways to do this:&lt;/p&gt;
&lt;p&gt;1.using&lt;font face="Arial"&gt; window.onbeforeunload() event, do it like this:&lt;/font&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;font face="Arial"&gt;function&amp;nbsp; window.onbeforeunload()&amp;nbsp; {&amp;nbsp; alert(&amp;quot;close the window?&amp;quot;)}&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;or&lt;/p&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;font face="Arial"&gt;function&amp;nbsp; window.onbeforeunload()&amp;nbsp; {&amp;nbsp; &lt;br /&gt;&amp;nbsp;if&amp;nbsp; (event.clientX&amp;gt;document.body.clientWidth&amp;nbsp; &amp;amp;&amp;amp;&amp;nbsp; event.clientY&amp;lt;0 ||event.altKey)&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;window.event.returnValue=&amp;quot;Are you sure?&amp;quot;;&lt;br /&gt;&amp;nbsp;}&lt;/font&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;2.using onUnload event&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;body onUnload=&amp;quot;myClose()&amp;quot;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;If you have further questions, let me know!&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Best Regards,&lt;/p&gt;</description></item><item><title>How to know if user close the browser or navigate to another page ?</title><link>http://forums.asp.net/thread/2110801.aspx</link><pubDate>Tue, 15 Jan 2008 16:14:40 GMT</pubDate><guid isPermaLink="false">4c671506-2930-414c-a40b-8bf57ded5924:2110801</guid><dc:creator>HarveyTriana</dc:creator><slash:comments>0</slash:comments><comments>http://forums.asp.net/thread/2110801.aspx</comments><wfw:commentRss>http://forums.asp.net/commentrss.aspx?SectionID=1007&amp;PostID=2110801</wfw:commentRss><description>&lt;p&gt;I know...&amp;nbsp;need and event from client script to server...&lt;/p&gt;
&lt;p&gt;Somebody has write this code?&lt;/p&gt;
&lt;p&gt;Thanks&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description></item></channel></rss>