Posteado por: edeortuzar | 19/04/2013

Confirmación de JavaScript desde code behind


Acá les dejo el código de un ejemplo muy práctico de como llamar a un confirm (comfirmación) de JavaScript desde el code behind.

Primero, tenemos nuestra página .aspx donde tenemos en la sección JavaScript la función que vamos a llamar desde el code behind para mostrar el mensaje, en este caso, la función es MensajeConfirmacion. En ella podemos ver que llamamos al confirm y obtenemos el resultado de la decisión del cliente en la variable result. Según el lo que haya seleccionado el usuario ejecutamos el click de un botón o el otro, los cuales permanecen ocultos, de manera tal que el usuario presiona sobre el botón btnSave en el cual podemos hacer validaciones o lo que queramos, luego (ya lo voy a mostrar más abajo), rellamamos la página ejecutando la función JavaScript. En los botones ocultos, podemos agregar código en nuestro code behind haciendo lo que corresponda según la elección.

<br />&lt;html xmlns="http://www.w3.org/1999/xhtml"&gt;<br />&lt;head id="Head1" runat="server"&gt;<br /><%%KEEPWHITESPACE%%>    &lt;title&gt;Untitled Page&lt;/title&gt;<br /><%%KEEPWHITESPACE%%>    &lt;script type="text/javascript"&gt;<br /><%%KEEPWHITESPACE%%>        function MensajeConfirmacion() {<br /><%%KEEPWHITESPACE%%>            var result = confirm('Esta seguro?');<br /><%%KEEPWHITESPACE%%>            if (result)<br /><%%KEEPWHITESPACE%%>                document.getElementById('&lt;%=btnSaveHidden.ClientID%&gt;').click();<br /><%%KEEPWHITESPACE%%>            else<br /><%%KEEPWHITESPACE%%>                document.getElementById('&lt;%=btnCancelHidden.ClientID%&gt;').click();<br /><%%KEEPWHITESPACE%%>        }<br /><%%KEEPWHITESPACE%%>    &lt;/script&gt;<br />&lt;/head&gt;<br />&lt;body&gt;<br /><%%KEEPWHITESPACE%%>    &lt;form id="form1" runat="server"&gt;<br /><%%KEEPWHITESPACE%%>    &lt;asp:ScriptManager ID="sc" runat="server" EnablePartialRendering="true"&gt;<br /><%%KEEPWHITESPACE%%>    &lt;/asp:ScriptManager&gt;<br /><%%KEEPWHITESPACE%%>    &lt;asp:UpdatePanel ID="updpnlSave" runat="server"&gt;<br /><%%KEEPWHITESPACE%%>        &lt;ContentTemplate&gt;<br /><%%KEEPWHITESPACE%%>            &lt;asp:Button ID="btnSave" runat="server" Text="Grabar" OnClick="btnSave_Click1" /&gt;<br /><%%KEEPWHITESPACE%%>            &lt;asp:Button ID="btnSaveHidden" runat="server" Text="Grabar oculto"<br /><%%KEEPWHITESPACE%%>                        OnClick="btnSaveHidden_Click" Style="display: none;" /&gt;<br /><%%KEEPWHITESPACE%%>            &lt;asp:Button ID="btnCancelHidden" runat="server" Text="Cancelar oculto"<br /><%%KEEPWHITESPACE%%>                       Style="display: none;" OnClick="btnCancelHidden_Click" /&gt;<br /><%%KEEPWHITESPACE%%>        &lt;/ContentTemplate&gt;<br /><%%KEEPWHITESPACE%%>    &lt;/asp:UpdatePanel&gt;<br /><%%KEEPWHITESPACE%%>    &lt;/form&gt;<br />&lt;/body&gt;<br />&lt;/html&gt;<br />

En nuestra página .aspx.cs (code behind) vamos a tener:

<br />protected void btnSave_Click1(object sender, EventArgs e)<br />{<br /><%%KEEPWHITESPACE%%>    //Hacer algo<br /><br /><%%KEEPWHITESPACE%%>    //Verificar existencia de archivos, validar campos, ir a la base de datos, etc.<br /><br /><%%KEEPWHITESPACE%%>    // Generamos la llamada a la confirmación de JavaScript<br /><%%KEEPWHITESPACE%%>    ScriptManager.RegisterClientScriptBlock(Page, typeof(Page), "script", "MensajeConfirmacion();", true);<br />}<br />protected void btnSaveHidden_Click(object sender, EventArgs e)<br />{<br /><%%KEEPWHITESPACE%%>    //Hacemos algo<br /><%%KEEPWHITESPACE%%>    //Continuamos con la parte de haber seleccionado "Si" en el confirmar<br /><br /><%%KEEPWHITESPACE%%>    //A modo de ejemplo mostramos un alert (mensaje) indicando que se ejecuto este evento<br /><%%KEEPWHITESPACE%%>    ScriptManager.RegisterClientScriptBlock(Page, typeof(Page), "script", "alert('Hizo click en el botón Grabar oculto');", true);<br />}<br />protected void btnCancelHidden_Click(object sender, EventArgs e)<br />{<br /><%%KEEPWHITESPACE%%>    //Hacemos algo<br /><%%KEEPWHITESPACE%%>    //Continuamos con la parte de haber seleccionado "No" en la confirmación<br /><br /><%%KEEPWHITESPACE%%>    //A modo de ejemplo mostramos un alert (mensaje) indicando que se ejecuto este evento<br /><%%KEEPWHITESPACE%%>    ScriptManager.RegisterClientScriptBlock(Page, typeof(Page), "script",<br /><%%KEEPWHITESPACE%%>                    "alert('Hizo click en el botón Cancelar oculot');", true);<br />}<br />

Espero que les sirva.

Saludos.

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

Categorías

A %d blogueros les gusta esto: