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
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