Entonces nos ponemos en la situación de que tenemos un control asp button que va al servidor cuando se hace click en el, y lo que queremos es que se ejecute en determinadas situaciones, por ejemplo si a pasado la validación.
teniendo este control asp:button
asp:button id="btBuscarVuelos" runat="server" text="Buscar" onclick="btBuscarVuelos_Click" onclientclick="return ValidarVuelos();">
vemos que cuando pulsemos el botón, se ejecutara "btBuscarVuelos_Click", porque se ejecuta el evento del click, pero como podemos ver tambien tiene un "onclientclick" que llama a una funcion javascript.
la función javascript puede ser algo así.
function ValidarVuelos() {
var V = ValidateFly();
envio(V);
if (V == 1)
return false;
if (V == 0)
return true;
}
Esta función llama a otra función javascript que valida los campos y devuelve 0 o 1 dependiendo de si esta correcto o no los campos del formulario.
Lo importante de esto es lo que devuelve esta función, si es correcto devuelve un "true" y si no devuelve un "false", con lo que si nos fijamos en el control de asp.net.
onclientclick="return ValidarVuelos();"
se ejecutara el PostBack en el servidor si esa función retorna un true, y si no se quedara en el cliente y no se ejecutara el Postback.
Espero que sirva.
Un saludo

muchas gracias amigo, me fue de mucha utilidad tu post, muy bueno!!
ResponderEliminarwoooooooooowwww si fynciona, despues de dias de buscar una soliucion, jejejeje gracias
ResponderEliminarDe nada hombre, para eso se hacen estas cosas ;)
ResponderEliminarjhgvbc
ResponderEliminarHola, como puedo hacer que se evite el postback pero que me abra un webform modal?
ResponderEliminarHola, como puedo hacer que se evite el postback pero que me abra un webform modal?
ResponderEliminarDentro de la función javascript, puedes lanzar todo lo que quieras desde cliente.
ResponderEliminarpor ejemplo , tener una funcion js, public abrirModal() {
window.open("");
}
donde pone windw.open, haz la llamada a tu acción que abra el modal
Gracias...
ResponderEliminarMuchas gracias, funcionó perfectamente!!
ResponderEliminar