CHAMAR UMA FUN?ÃO VB.NET DENTRO DE UMA FUN?ÃO JAVA

MALA 23/10/2014 09:23:06
#442109
BOM DIA A TODOS

GOSTARIA DE FAZER UMA CHAMADA DE UMA FUNÇÃO VB.NET OU C# DE DENTRO DE UMA FUNÇÃO JAVASCRIPT ISSO TUDO DENTRO DO ASP.NET.

TIPO ASSIM NO EVENTO

Valor_Ult.Attributes.Add([Ô]onblur[Ô], [Ô]this.className=[ô]CaixaTextoSai[ô];[Ô])

DENTRO DA FUNÇÃO CAIXATEXTOSAI() FAZER A CHAMADA DA FUNÇÃO EM VB.

SE ALGUEM PUDER ME AJUDAR


DESDE JÁ AGRADEÇO A ATENÇÕES DE TODOS.
PEGUDO 23/10/2014 10:10:59
#442111
Resposta escolhida
Para entender isso, primeiro vamos supor que eu tenha um arquivo js no meu projeto, chamado: [Ô][txt-color=#0000f0]scripts.js[/txt-color][Ô], dentro de uma pasta chamada [Ô][txt-color=#0000f0]scripts[/txt-color][Ô];
no source da página (ou seja, no HTML), colocamos uma vinculação da página ao arquivo javascript externo:
<script src=[txt-color=#e80000][Ô]../scripts/scripts.js[Ô][/txt-color] type=[txt-color=#e80000][Ô]text/javascript[Ô][/txt-color]></script>


Acima temos:
[txt-color=#0000f0]<script[/txt-color] => indica um campo javascript;
[txt-color=#0000f0]src=[Ô]../scripts/scripts.js[Ô][/txt-color] => O caminho que aponta onde está o arquivo externo javascript e o nome do arquivo (Obrigatório);
[txt-color=#0000f0]type=[Ô]text/javascript[Ô][/txt-color] => O tipo do campo (opcional) - O ASP.Net reclama se não coloar mas nunca tive problemas na hora de rodar o programa.
[txt-color=#0000f0]</script>[/txt-color] => Fecha o campo javascript

Agora vamos colocar o código javascript dentro da arquivo scripts.js
[txt-color=#0000f0]function[/txt-color] chamaAlerta(mensagem){
alert(mensagem);
}


Acima criamos um função (function) com o nome [Ô]chamaAlerta[Ô] que espera um parâmetro (message) e exibirá uma messageBox com a mensagem do parâmetro.
Para chamar uma função javascript pelo codeBehind:

ScriptManager.RegisterStartUpScript([txt-color=#0000f0]Me[/txt-color],[txt-color=#0000f0] Me[/txt-color].GetType(), [txt-color=#e80000][Ô]funcaoQualQuer[Ô][/txt-color], [txt-color=#e80000][Ô]chamaAlerta([ô]esta é a mensagem que eu enviei do code behind[ô]);[/txt-color][Ô],[txt-color=#0000f0]True[/txt-color])

Acima
[txt-color=#0000f0]ScriptManager[/txt-color] => cria um registro de uma função javascript no html da página;
[txt-color=#0000f0]Me[/txt-color] => o próprio code behind que está chamando o ScriptManager;
[txt-color=#0000f0]Me.GetType()[/txt-color] => O tipo de objeto que está chamando o ScriptManager;
[txt-color=#0000f0]funcaoQualQuer [/txt-color]=> Um nome para sua função. Pode ser o nome que você quiser: [txt-color=#e80000][Ô]pirulito[Ô][/txt-color], [txt-color=#e80000][Ô]XLTO[Ô][/txt-color], [txt-color=#e80000][Ô]balaDeChocolate[Ô][/txt-color], etc... O que você precisa entender é que esta função não é e nem é o nome da função [Ô][txt-color=#0000f0]chamaAlerta[/txt-color][Ô], ela será criada dinamicamente para chamar a função [Ô][txt-color=#0000f0]chamaAlerta[/txt-color][Ô];
[txt-color=#0000f0]chamaAlerta([ô]esta é a mensagem que eu enviei do code behind[ô]);[/txt-color] => Esta é a função que será chamada no arquivo externo javascript com a mensagem que eu quero exibir para o usuário (Tem que terminar com [txt-color=#0000f0]();[/txt-color], mesmo que não tenha parâmetros).
[txt-color=#0000f0]True [/txt-color]=> Parâmetro que indica se o ASP irá criar ou não as tags javascript obrigatórias.

Na prática, ASP vai criar isto no HTML da página, incluindo as tags obrigatórias (que não vou colocar aqui):
[txt-color=#0000f0]funcion [/txt-color]funcaoQualquer([ô]esta é a mensagem que eu enviei do code behind[ô]){
chamaAlert([ô]esta é a mensagem que eu enviei do code behind[ô]);
}


[txt-color=#0000f0]Aqui tem um bom exemplo de uso do ScriptManager[/txt-color]

Trabalhar com arquivos externos é a melhor prática para se trabalhar com ASP.NET. Evite colocar seus códigos javascript dentro do HTML da página.
MALA 23/10/2014 10:49:21
#442115
PEGUDO NAO SEI SE ME EXPRESSEI DIREITO, MAS ISSO QUE VC ME PASSOU E CHAMAR UMA FUNÇÃO JAVASCRIPT DENTRO DE UMA DE VB.NET O QUE EU QUERO E CHAMAR UMA DE VB.NET DENTRO DE UMA DE JAVASCRIPT.
PEGUDO 23/10/2014 11:12:42
#442116
Cara,
Este tipo de programação eu não faço.
Prefiro mil vezes usar javascript e WebService para chamar códigos no code Behind, mas aqui tem uns links que podem te ajudar:
[txt-color=#0000f0]CHAMAR CODEBEHIND PELO JAVASCRIPT[/txt-color]
[txt-color=#0000f0]Calling a code-behind function from JavaScript[/txt-color]
MALA 23/10/2014 19:53:21
#442131
muito obrigado
LAMPIAO 24/10/2014 10:45:47
#442141
Olá Malac, se fosse no padrao asp net mvc seria muito simples usando ajax. Faria exatamente o que você precisa. Ou seja, uma chamada ajax executando uma funcao qualquer e retornando normalmente um json. O json retornado ai você trata da forma que precisar usando javascript. Não sei o tamanho do seu projeto, mas se estiver no inicio recomendo pesquisar sobre asp net mvc, pra mim é infinitamente mais simples de fazer as coisas.
MALA 25/10/2014 14:23:36
#442158
BOM DIA LAMPIAO, OBRIGADO PELO CONSELHO E SE TIVER COMO VC ME MANDAR UM EXEMPLO OU ALGUNS LINKS PRA MIM DA UMA OLHADA AGRADEÇO

DESDE JA AGRADE SUA ATENÇÃO.
Tópico encerrado , respostas não são mais permitidas