Inquiridor
Javascript em tempo de execução e duas dúvidas

Pergunta
-
Pessoal eu achei uma forma de fazer o que preciso, montar um JavaScript e coloca-lo na página de forma dinâmica.
No evento OnClick do botão eu faço o seguinte código no CodeBehind
string script = @"<script language=""Javascript"">
function TestJScript()
{ alert('Just for testing'); }
</script>";
Page.RegisterStartupScript("experiment", script);
btnSample2.Attributes.Add("onClick", "TestJScript()");OK, funciona. Em partes mas funciona. O script é adicionado à página e o segundo clique é que a ação é executada. O ideal é que o funcionamento fosse de primeira, ou seja, a mensagem seria exibida no momento do clique e não no segundo clique. Alguém já fez isto? Esta é a primeira dúvida.
A segunda: Mas não muito para o que preciso. Após o clique do botão eu preciso que página não seja recarregada. É possível?
Todas as Respostas
-
-
-
Cara,
Faça isso:
string script = @"<script language=""Javascript""> function TestJScript(){
alert('Just for testing');
} </script>";
btnSample2.Attributes.Add("onClick", "TestJScript()");
Dentro do seu PageLoad, pois assim que a sua página for carregada pela primeira vez, logo de inicio já estará adicionando a função ao seu botão.
Para não recarregar a página novamente, faça isso no PageLoad:
if(!IsPostBack) { //Aqui os seus métodos }
Coloque todos os seus métodos que estão dentro do PageLoad dentro desse if no proprio PageLoad.
A página irá dar um post porém não será executado nenhuma ação a não ser na primeira vez que estará acessando a página.
Se precisar depois que seja feito alguma coisa no pageload apó o click de algum botão, apenas coloque um else no if.
Atenciosamente, Samuel dos Anjos
- Sugerido como Resposta Samuel Rodrigues dos Anjos quinta-feira, 14 de março de 2013 16:51