Can I detect a browser close from C# rather than JavaScript?
It is not possible to detect that the browser window has been closed without some client JavaScript or VBScript, unless you use a browser plug-in that is installed on the client machine, such as a Browser Helper Object. I wrote an article on BHOs here: http://www.15seconds.com/issue/040331.htm
I'm guessing that you want to detect this without deploying script or installing something on the client side, but you can detect when the browser session has ended by writing code for Session_End() which is invoked when the ASP.NET runtime detects a session timeout, usually after 20 minutes of inactivity. You probably don't want to change this timeout to anything less, since that could cause undesirable side effects.