0

ASP.NET C# executar função depois do enter no textBox

Posted by Fabio's Blog on 20:09
Eu estava fazendo um cadastro e precisava deste complemento para a tela, ao digitar o codigo de um fornecedor ele ja busca na base os dados do produto e carrega os outros campos do produto para visualização.

Utilizei o doPostBack para efetuar este procedimento.

Só para vocês entenderem melhor o controle tbx_cd_cnpj_fili é onde coloco o código do fornecedor, na minha função javascript precisei dos campos tbx_cd_trns e tbx_cd_trns_1 somente para verificação de regra de negócio. Quando o DoPostBack é executado ele chama a função this.CarregarTransportadora() que é onde no Code Behind faço o acesso a base de dados e carrego os campos necessários.

Abaixo o código para o DoPostBack.

Exemplo do DoPostBack

    Código colocado no Page_Load da página.


    // Chamada do DoPostBack
    if (!String.IsNullOrEmpty(Request["__EVENTARGUMENT"]) &&
    Request["__EVENTARGUMENT"] == "1")
    {
        this.CarregarTransportadora();
    }

    // Inclusão do Atributo de onkeypress no textbox que deseja executar a função
    // No exemplo estou passando os textbox necessários para a função através da lógica que tinha que fazer
    this.tbx_cd_cnpj_fili.Attributes.Add("onkeypress", "javascript:return verificarTecla(event, '1','" + this.tbx_cd_trns.ClientID + "','" + this.tbx_cd_trns_1.ClientID + "');");



    Código javascript que chama o postback passando o parâmetro para o code-behind.


    // Função Javascript
    function verificarTecla(e, eventArgument, tbx_1, tbx_2)
    {
       var code = (window.event) ? event.keyCode : e.keyCode;
       var tbx1 = document.getElementById(tbx_1);
       var tbx2 = document.getElementById(tbx_2);
       
       tbx1.value = "";
       tbx2.value = "";

       if( code == 13 )
       {
           var pageID = '<%=  Page.ClientID %>';
           __doPostBack(pageID, eventArgument);
           return false;
       }
    }


Espero que tenha sido útil.

Um abraço

Copyright © 2009 Fabio's Blog All rights reserved. Theme by Laptop Geek. | Bloggerized by FalconHive. Distribuído por Templates