Un psicoanalista en el divan extractoDescripción completa
Un psicoanalista en el divan extracto
libro completo de un monstruo en el armario.
el blog de José M. Aguilar
Inicio
El autor
Contactar
Artículos, noticias, curiosidades, reflexiones... sobre el mundo del desarrollo de software, internet, u otros tem as relacionados con la tecnología Select Language
Principal Prin cipal
Archivo Arch ivo del blog blog 2015 (19) 2014 (8 (83) 3) 2013 ( (88) 88) 2012 (9 (90) 0) 2011 (1 (111) 11) 2010 (87 (87)) 2009 (74) 2008 (90) 2007 (83) diciembre (10) noviembre novi embre (10) Evitar el postback Evitar postb ack al pulsar un botón en ASP.Net AS P.Net
Pase el mouse para expandir
Evitar el postback al pulsar un botón en ASP.Net miércoles, 28 de noviembre de 2007 Me gusta
9
Tweet
2
2
12
Problemas al comentar el Problemas código có digo fuente
Pues bien, llevo tiempo observando que hay muchas personas que preguntan a Google algo similar a "anular postback en botón", es decir, se tienen dudas sobre cómo evitar el disparo del postback al pulsar un botón de un formulario ASP.Net. El tema me ha parecido tan interesante que intentaré dar una respuesta a la duda estudiando algunas de las distintas posibilidades que pueden darse. Eso sí, si echáis en falta algún caso, no dudéis en comentarlo y lo trataremos lo antes posible. Variable not found Me gusta
I. ¿Hablamos de botones con lógica exclusivamente en cliente?
Postbacks entre páginas diferentes en ASP.Net ASP. Net (Cro...
La primera cuestión es preguntarse para qué quere q ueremo moss un botón un botón que no realice un postback al ser pulsado. Pensad que si todas las acciones desencadenadas por la pulsación del botón se realizarán en cliente es posible que no necesitemos un control ASP.Net. ASP.Ne t. Imaginemos, Imaginemos, por ejemplo, un botón que queremos que haga un cálculo en el cliente y muestre un cuadro de alerta con el resultado... ¿es necesario que sea un control de servidor (runat="server")? Seguro que no .
CTP de ASP.NET MVC en CTP de unas semanas
Para este caso lo más apropiado es incluir en el .aspx un HTML INPUT de los de toda la vida:
Interfaces fluidos (fluent Interfaces interfaces) int erfaces)
Diez cosas a saber sobre Visual Studio 2008 y .NET... Añadir funciones con parámetros parámetr os a l evento OnLoad (... NiftyDotNet, redondear las equinas de tus elemento...
octubre (9) septiembre (15) agosto (1) julio juli o (9) junio (6) mayo (6) abril (5) marzo (5) febrero (3) enero (4)
Si eres de los que prefieren arrastrar y soltar, puedes hacer exactamente lo mismo utilizando los controles incluidos en la pestaña HTML de Visual Studio, en este caso el llamado Input(Button). El resultado visual será idéntico al de un Button (un botón de servidor) y estaremos aligerando tanto la página enviada al cliente como la carga del servidor.
II. Anular el postback en un botón de servidor servidor
Otra posibilidad es que vayas a usar un control de servidor (un Button, por ejemplo) y sólo bajo determinadas circunstancias quieras anular el postback desde el cliente. Obviamente, estas circunstancias serían calculadas/obtenidas por script, por lo que podríamos aplicar un patrón como el siguiente:
2006 (39)
Top semanal Otras 101 citas célebres del mundo de la informática Enlaces interesantes 191 Evitar el postback al pulsar un botón en ASP.Net Pasar variables de script a un Url.Action() o Html.ActionLink() ¿Y el Web.config de la carpeta /Views en MVC 6? 101 citas célebres del mundo de la informática jqGrid: Grids espectaculares para ASP.NET MVC, paso a paso
Categorías .net (62) ajax (18) antispam (16) asp.net (154) aspnetmvc (177) auges (11) autobombo (27) blogging (53) buenas prácticas (26)
Variable Variabl e social
De vez en cuando reviso las palabras por las que se llega a Variable Not Found a Found a través de los buscadores, más que nada porque suelen reflejar dudas o problemas comunes de los desarrolladores y pueden servir como inspiración sobre nuevos temas a tratar en el blog.
ConnectionStrings.com, ConnectionStrin gs.com, las cadenas ca denas de conexión con exión sie... Otro uso para la arroba (@) en C#
Transl
Mis cursos
La aventura va contigo
Inicio Inicio El autor autor Contactar Con tactar
Powered by
... ... <script type="text/javascript"> function comprueba() { return confirm("Confirme el postback"); }
Como se puede observar, se ha modificado la propiedad OnClientClick del botón para hacer que retorne el resultado de la llamada a la función comprueba(). Si ésta retorna cierto, se realizará el postback, mientras que si retorna falso, no lo hará. En el ejemplo anterior se permite al usuario decidir si desea enviar el formulario al servidor o no.
III. Anular la posibilidad de envíos múltiples
Hay otras ocasiones, sin embargo, en las que estamos utilizando un botón de servidor de forma normal y simplemente queremos evitar duplicidades en el envío del formulario, es decir, bloquear el botón correspondiente una vez el usuario lo haya pulsado la primera vez. Esto es muy habitual debido a la falta de feedback: el usuario envía el formulario, se impacienta esperando la respuesta o no está seguro de haberlo enviado, y cual poseso, inicia un ataque implacable sobre el botón de envío. ¿A que os suena?
A 728 pers personas onas les gusta Variable not foun found d.
Plug-in social de Facebook
Visitas en los últimos 30 días
31,400 Publicidad
Message Boxx for Bo ASP.NE AS P.NET T Modal Modal message message box/dialog for Web We b Fully custo customizable, mizable, VB & C# sample sample
El comportamiento típico, adoptado por la mayoría de sitios web, es deshabilitar el botón y seguir con el postback. Sin embargo, esto que podría ser realmente sencillo mediante scripting, causa algún que otro problema cuando el botón es de tipo Submit, puesto que en determinados navegadores (por ejemplo IE6) no realizará el envío si lo está generando un botón deshabilitado. Una forma de evitar este problema es hacer que el botón no sea de tipo submit e incluir un pequeño script:
Si el botón debe ser obligatoriamente de tipo submit, se deben utilizar soluciones alternativas. Googleando un poco he encontrado varias, como deshabilitar el botón pasadas unas décimas de segundo mediante un timer, o retocar los estilos del botón para, simplemente, hacerlo desaparecer y mostrar en su lugar un mensaje informativo. La mejor, para mi gusto, consiste en capturar el evento onsubmit del formulario web, así: ...