none
Como passar informações via javascript para um controle dentro de um Details View? RRS feed

  • Pergunta

  • Fala galera,

    Como eu posso passar informações via javascript para um controle dentro de um Details View?

    Tem como?

    Por exemplo, tenho um details view que tem um item que é um TextBox, que no caso vai receber uma data.

    No init do Hyperlink eu adiciono o script:

    Code Snippet

    Protected Sub imgDateInsert_Init(ByVal sender As Object, ByVal e As System.EventArgs)

    sender.NavigateUrl = "BLOCKED SCRIPTcalendarPicker('document.Form1." + txtRef.ClientID.ToString() + "');"

    End Sub

     

     

    E ao clicar ele executa o BLOCKED SCRIPT 

    Code Snippet

     

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

    function calendarPicker(strTxtRef)

    {

    window.open('./Controls/Calendar.aspx?field=' + strTxtRef +'','calendarPopup','titlebar=no,left=470,top=100,width=300,height=250,resizable=no');

    }

    </script>

     

     

     

    Até aí perfeito, a janela abre normalmente, com os valores de referencia "corretos".

     

     

    Na nova pagina, qdo o Calendar recebe um click o método returnToPage é acionado:

    Code Snippet

    private void returnToPage(string retDate)

    {

    //"<script>window.opener." + Request.QueryString("field") + ".value ='" + ReturnDate + "';" + " " + "window.close();</script>")

    Response.Write("<script>window.opener." + Request.QueryString["field"].ToString() + ".value='" + retDate + "';</script>");

    //Response.Write("<script>alert(window.opener.document.WebForm1.txtDate.value);</script>");

    Response.Write("<script>window.close();</script>");

    }

     

    Agora vem o problema! O valor não aparece no TextBox!!!!!!  Esse mesmo código com um textbox fora do details view funciona perfeitamente bem. Não tenho idéia de onde está o problema, e não vejo solução melhor que essa, sendo que quando eu uso o Calendar recebo muitos erros de viewstate, e achei essa a melhor solução, masss não consigo capturar o valor.

     

     

    Obrigado pela ajuda galera!!!!

    sexta-feira, 11 de julho de 2008 23:24

Todas as Respostas

  • Alguem?

     

    terça-feira, 15 de julho de 2008 16:16
  • Fabio faz um teste, coloca um id neste textbox e tenta referenciar assim document.getElementById("seuid")

     

    Teste o código abaixo

    private void returnToPage(string retDate)

    {

    //"<script>window.opener." + Request.QueryString("field") + ".value ='" + ReturnDate + "';" + " " + "window.close();</script>")

    Response.Write("<script>window.opener.document.getElementById('" + Request.QueryString["field"].ToString() + "').value='" + retDate + "';</script>");

    //Response.Write("<script>alert(window.opener.document.WebForm1.txtDate.value);</script>");

    Response.Write("<script>window.close();</script>");

    }

     

     

    Abraços

     

    Estevam

    terça-feira, 15 de julho de 2008 16:40