• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

MadGuizmo

Passar valores no javascript para o codebehind

4 mensagens neste tópico

Cumprimentos

Estou a realizar um trabalho em aspx com linguagem C#, em que uma determinada função consiste em registar uma despesa na base de dados, mas para isso é preciso verificar se o processo de individuo esta válido.

ou seja existe uma primeira ligação ao server side e depois se o processo não estiver valido é necessário devolver uma mensagem em javascript a informar que o processo está invalido e se o utilizador pretende de facto registar a despesa.

Caso o utilizador pretenda registar essa despesa a intenção é clicar ok na mensagem "confirm" do java script que surgiu.

Já criei a função js

<script language="javascript" type="text/javascript">

    // <!CDATA[

    function despesa() {

        var conf = window.confirm("Este Beneficiário tem o processo inactivo Quer continuar?");

        if (conf == true){

            var str="1"

            document.getElementById("hiddenVal").value=str;

        }

        else{

            window.location.href="addDespesa.aspx";

        }

    }

e a chamada no code-behind

if (Page.IsPostBack)

            {

                if (!ClientScript.IsClientScriptBlockRegistered("MyScript"))

                {

                    ClientScript.RegisterClientScriptBlock(this.GetType(), "MyScript", "<script language=\"javascript\">despesa();</script>");

                }

no entanto dá-me um erro

Erro em tempo de execução do Microsoft JScript: 'document.getElementById(...)' é nulo ou não é um objecto

e não consigo perceber porque, porque o hiddenVal já foi criado

<input id="hiddenVal" type="hidden" runat=server/>

Agradeço desde ja algumas ideias

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu experimentei isto: (No Default.aspx entre os div depois do form)

<script type="text/javascript">

            function a() {

                var conf = window.confirm("Este Beneficiário tem o processo inactivo Quer continuar?");

                if (conf == true) {

                    var v = document.getElementById("hiddenVal");

                    v.value = "1";

                    alert(v.value);

                }

            }

        </script>

        <input id="hiddenVal" type="button" runat="server" onclick="javascript:a()" />

e funcionou.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Pelo que vi o que testas-te foi uma função javascript que é chamada quando clicas no botão do lado do cliente antes que a pagina reevie os dados para o server side

mas o que eu pretendo é chamar essa função quando a pagina faz um postback e só depois devolve a msg de confirmação

De qualquer forma obrigado

Eu acabei por retirar a msg de confirm e resolvi o problema com uma label de aviso directamente na pagina e com um novo button para realizar o evento de confirmação

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora