Ja vi em muitos lugares essa dúvida, e vi muitas soluções complicadas, explicações gigantes para resolver esse problema.
Aqui mostro de uma forma mais direta como resolver esse problema de chamar uma função C# por exemplo com Javascript.
Primeiro no código fonte de sua página adicione um método estático com o atributo WebMethod. Seu código ficará assim:
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
[System.Web.Services.WebMethod]
public static void MeuMetodo()
{
}
}
Agora no seu html adicione um ScriptManager colocando EnablePageMethods="true" e logo abaixo dele adicione sua função javascript, ficando assim:
<form if="form1" runat="server">
<asp:scriptmanager EnablePageMethods="true" runat="server"></asp:scriptmanager>
<script type="text/javascript">
function Metodo() {
PageMethods.MeuMetodo();
}
</script>
<button onclick="javascript:Metodo();">Clique</button>
</form>
Esse pequeno artigo mostra de maneira simples como chamar uma função que está do lado do servidor por Javascript.
Até a próxima.
segunda-feira, 21 de dezembro de 2009
Assinar:
Postar comentários (Atom)
Murilo,
ResponderExcluirMuito legal hein, bem direto!
Parabéns
Sérgio
Obrigado Sérgio.
ResponderExcluirQue bom que gostou.
Você salvou minha tarde Murilo, estava tentando isso a dois dias, mais colocando o código JS no local errado. Muito obrigado!!!
ResponderExcluirRodrigo Coladela
Fico feliz por ter ajudado.
ResponderExcluirpow cara, ate que fim um código que me ajudou parabens e obrigado
ResponderExcluir