none
Transferência de Valores Pop UP filho para o Pai RRS feed

  • Pergunta

  • Olá a todos,

    Eu tenho uma pagina de vendas onde eu tenho um botão que ao clicar exibe um Pop - Up com a Grid de Clientes para Pesquisa, quando eu clicar no evento Selecionar do DataGridView pesquisar eu preciso fechar o modal e levar o codigo e o nome do Cliente para a Pagina Pai, hoje eu já estou fazendo isto, utilizando Javascript.

    A Pagina Pai está dentro de uma Master `Page, já li e disseram que isto intefere ao transferir os dados.

    O pagina Pop Up não está dentro de um Pop Up.

    Porém o usuário não precisa ver o campo ClienteID, preciso ocultar ele na pagina Pai, preenchido, o usuário só precisa ver o campo Name, se eu ocultar o campo, desabitar o campo, o Javascript não leva o campo e com isto o modal não fecha.

    Não se se existe outra forma com javascript para levar os dados para a pagina pai, se tiver e alguém me ajudar agradeço.

    Abaixo os codigos

    Javascript da Pagina Pai

    <script type="text/javascript">
             function OpenDialog() {
                 window.open('LookupCliente.aspx', 'Pesquisar Cliente', 'width=450, height=520, scrollbars=no,resizable=yes');
             }

            function atualizaCampo(id, nome) {
                 document.getElementById("TextBoxClienteName").value = nome;
                 document.getElementById("TextBoxCodigoCliente").value = id;
             }
     </script>

    ===========================================================================

    Javascript do Pop Up

    <script type="text/javascript">
            function HideModal() {

                var nome = document.getElementById("TextBoxClienteID").value;
       var id = document.getElementById("TextBoxNomeCliente").value;

    window.opener.atualizaCampo(nome, id);
    window.close();
            }
    </script>

    ===========================================================================

    Codebehin da Pagina Pop 

     protected void GridViewCliente_SelectedIndexChanged(object sender, EventArgs e)
     {
                TextBoxClienteID.Text = GridViewCliente.SelectedRow.Cells[1].Text;
                TextBoxNomeCliente.Text = GridViewCliente.SelectedRow.Cells[2].Text;

                ScriptManager.RegisterStartupScript(this, this.GetType(), "HideModal", "HideModal();", true);
     }

    Estou desenvolvendo em asp.net, no Visual Studio 2013, net framework 4.5

    Vi varios posts, perguntas semelhantes a minha e tentei varias respostas, se alguem me ajudar com isto ficarei muito mais muito feliz.

    Obrigado

    quarta-feira, 27 de julho de 2016 12:40

Respostas

  • para disparar o modal tanto faz em que trabalha visite o site do bootstrap, 

    o procedimento para criar o modal é html e javascript puro

    Se a resposta contribuiu com seu aprendizado por favor marque como Útil
    Se solucionou seu problema por favor marque como Resposta
    Atenção, se seu problema foi resolvido não deixe o post aberto 

    Visite : www.codigoexpresso.com.br 

    quinta-feira, 28 de julho de 2016 00:33

Todas as Respostas

  • Boa tarde Ricardo Rodrigues dos Santos,

    Obrigado por sua participação no Fórum MSDN.

    Pelo que eu entendi, você precisa passar alguns valores do Pop up para a página pai, e você não quer que o campo ID esteja visível.
    É isso mesmo?

    Atenciosamente,


    Robson William Silva

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    quarta-feira, 27 de julho de 2016 20:08
    Moderador
  • Crie em seu formulário um campo oculto

    <input type="hidden" name="MeuCampo" id="MeuCampo" value="" />

    No seu java script passe o valor para o campo assim

    document.getElementById('MeuCampo').value = 'Meu Texto'; 
    Pronto quando fizer o post deste formulário vai conseguir capturar o valor de ´MeuCampo´

    Se a resposta contribuiu com seu aprendizado por favor marque como Útil
    Se solucionou seu problema por favor marque como Resposta
    Atenção, se seu problema foi resolvido não deixe o post aberto 

    Visite : www.codigoexpresso.com.br 

    quarta-feira, 27 de julho de 2016 20:19
  • Isso mesmo, é possível que as colunas estejam também invisiveis no GridView?
    quarta-feira, 27 de julho de 2016 20:27
  • Se estiver utilizando asp.net verifique nas propriedades de seu grid que pode deixar uma determinada coluna invisível, se estiver utilizando html crie uma propriedade em estilos css 

    visibility:hidden;

    Se a resposta contribuiu com seu aprendizado por favor marque como Útil
    Se solucionou seu problema por favor marque como Resposta
    Atenção, se seu problema foi resolvido não deixe o post aberto 

    Visite : www.codigoexpresso.com.br 

    quarta-feira, 27 de julho de 2016 20:44
  • Oi eu tentei porém o Pop Up não fechou ....O que pode ser?

    Codigo Pop 

    function HideModal()

    {

    //var nome = document.getElementById("TextBoxNomeCliente").value;
                var id = document.getElementById("ClienteID").value;

       //document.getElementById('ClienteID').value = "TextBoxClienteID.Text";

    window.opener.atualizaCampo(nome, id);
    window.close();
    }

    //======================================================================

    Campo input criado no Pai

    <input name="ClienteID" id="ClienteID" value="" />

    quarta-feira, 27 de julho de 2016 21:38
  • Não entendi bem como criou o pop, abriu uma nova janela no navegador ?

    Se a resposta contribuiu com seu aprendizado por favor marque como Útil
    Se solucionou seu problema por favor marque como Resposta
    Atenção, se seu problema foi resolvido não deixe o post aberto 

    Visite : www.codigoexpresso.com.br 

    quarta-feira, 27 de julho de 2016 21:53
  • Abriu o pop Up normalmente quando eu seleciono a linha ele não fecha o grid view e não leva o valor para a pagina pai
    quarta-feira, 27 de julho de 2016 21:59
  • Continuo sem entender como abriu o pop ?

    Se a resposta contribuiu com seu aprendizado por favor marque como Útil
    Se solucionou seu problema por favor marque como Resposta
    Atenção, se seu problema foi resolvido não deixe o post aberto 

    Visite : www.codigoexpresso.com.br 

    quarta-feira, 27 de julho de 2016 22:08
  • Eu tenho um javascript que na janela pai abre um Pop Up com que contém a Grid de Clientes, que é este:

    <script type="text/javascript">
             function OpenDialog() {
                 window.open('LookupCliente.aspx', 'Pesquisar Cliente', 'width=450, height=520, scrollbars=no,resizable=yes');
             }

    quarta-feira, 27 de julho de 2016 23:33
  • Neste caso você esta utilizando uma outra janela e não um modal, veja abaixo um exemplo de modal com bootstrap

    Exemplo de Modal

    Não entendi porque a janela não fechou

    Se a resposta contribuiu com seu aprendizado por favor marque como Útil
    Se solucionou seu problema por favor marque como Resposta
    Atenção, se seu problema foi resolvido não deixe o post aberto 

    Visite : www.codigoexpresso.com.br 

    quinta-feira, 28 de julho de 2016 00:15
  • O meu projeto e em asp.net não em mvc..você teria uma exemplo que não fosse mvc?
    quinta-feira, 28 de julho de 2016 00:31
  • para disparar o modal tanto faz em que trabalha visite o site do bootstrap, 

    o procedimento para criar o modal é html e javascript puro

    Se a resposta contribuiu com seu aprendizado por favor marque como Útil
    Se solucionou seu problema por favor marque como Resposta
    Atenção, se seu problema foi resolvido não deixe o post aberto 

    Visite : www.codigoexpresso.com.br 

    quinta-feira, 28 de julho de 2016 00:33