Un saludo nuevamente a toda la comunidad de desarrolladores en Latam! en está ocasión quiero presentar la forma en que nosotros los desarrolladores podemos detectar el momento en que un usuario quiere abandonar una página Web de nuestra aplicación y de esta forma asegurarnos de que en realidad acepte el retiro o este  sea cancelado. Para esto es necesario manipular el objeto Windows mediante JavaScript de la siguiente forma veamos:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="OnUnLoadWebForm.aspx.cs"
    Inherits="OnUnLoad.OnUnLoadWebForm" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <script type="text/javascript" language="javascript">
window.onbeforeunload = function () {
            return "En realidad nos quieres abandonar?";
        }
    </script>
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:LinkButton ID="LB1" runat="server" PostBackUrl="~/WebFormDestino.aspx" Text="Ir">
        </asp:LinkButton>
    </div>
    </form>
</body>
</html>

Cómo se puede ver dentro del tag script (tipo javascript) el evento a controlar es onbeforeunload, el cual se liga a una función anónima en la cual retornamos el mensaje que queremos exponga el confirm de retiro,
aclaro, este evento para el browser controla un alert o confirm especial nativo del browser, por lo tanto un alert o confirm sencillo valga la redundancía no tendría el mismo efecto. veamos un pequeño WebCast referente.