Por ejemplo, si queremos invocar un Evento click que esta asociado a un Boton ASP.NET, desde alguna funcion Javascript haremos lo siguiente:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication1._Default" %>
<!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">
function z_metjsClick() {
var boton = document.getElementById('z_btnAceptar');
boton.click();
}
</script>
<title></title>
</head>
<body>
<form id="z_FormPrincipal" runat="server">
<div>
<asp:Button ID="z_btnAceptar" runat="server" Text="Aceptar" onclick="z_btnAceptar_Click" />
<br /><br />
<div onclick="z_metjsClick()" style="cursor:pointer;">Click aqui para invocar el CodeBehind</div>
<br />
<asp:Label ID="z_lblMensaje" runat="server"></asp:Label>
</div>
</form>
</body>
</html>
Donde:
Tenemos una funcion JavaScript "z_metjsClick()" que obtiene el botón a través de su ID, una vez que es asignado, ejecutamos el evento click.
El formulario contiene un control asp:Button con un evento onclick="z_btnAceptar_Click", que es el evento del codebehind. Un DIV como ejemplo (aqui dependiendo de lo que requieran, el caso es invocar a la funcion javascript), con el evento onclick="z_metjsClick()" que ejecuta a esa función. Y por último un control asp:Label, donde se mostrara un texto.
El Evento del asp:Button en el codebehind:
protected void z_btnAceptar_Click(object sender, EventArgs e)
{
z_lblMensaje.Text = "Usted hizo Click";
}
Cuando hacemos clic sobre el div, será invocado el evento Click del asp:Button, mostrando el resultado en el asp:Label
Bueno eso es todo, es algo sencillo, posteriormente profundizaremos un poco mas en el tema. haciendo uso de los WebMethods.
Ailas...
Gracias amigo era exactamente lo que estaba buscando increible que fuera tan sencillo .... saludos desde colombia ... son tips tan sencillos pero tan utiles
ResponderSuprimirExcelente post, me ha servido de mucha ayuda.
ResponderSuprimirDe todos modos, si sabes como llamar así de sencillo un método no de un control como el Button, sino un método cualquiera como public void ejecutarCodigo() desde JavaScript me ayudarías mucho con un trabajo que tengo pendiente. El problema es que en todas partes aparece con WebServices, Ajax, y otras que no quiero implementar.
Te agradezco nuevamente.