none
Como abrir nova pagina e voltar sem perder os dados RRS feed

  • Pergunta

  • Pessoal, tenho um formulário com vários campos e um grid, nesse grid ao editar um registro preciso abrir outra pagina para preencher os dados e ao voltar para pagina anterior ela é atualizada e fica em tudo em branco, como posso fazer isso?

    att,


    Fabiano Pires

    quarta-feira, 1 de abril de 2015 19:17

Respostas

  • Boa Tarde Fabiano,

    Você tem mesmo a necessidade de abrir outra pagina?

    Recomendo utilizar PopupModal, com isso você não precisa sair da pagina que você está!

    Caso tenha alguma duvida em utilizar o PopupModal junto ao seu projeto especifique oque você realmente precisa preencher em uma outra pagina para que possamos resolver seu problema.

    Caso  a informação for útil, marque como resposta!

    Att,

    Márcio Camargo

    • Marcado como Resposta Fabiano Pires quinta-feira, 2 de abril de 2015 10:35
    quarta-feira, 1 de abril de 2015 20:17
  • Fabiano, boa noite!

    Pode salvar e recuperar os dados e popular seus campos isso tudo no clique e pode também salvar seus dados e adiciona-los em uma session depois fazer um cast desta session e popular seus campos e também pode seguir a dica do Marcio!


    Se a resposta for útil, favor votar como útil para que ajude outros usuários com a mesma dúvida.

    Att,

    André Côrte
    Analista de Sistema
    Skype: corte.solutions
    Nosso trabalho
    Grupo de Estudo no Facebook
    Canal de Estudo no Youtube

    • Marcado como Resposta Fabiano Pires quinta-feira, 2 de abril de 2015 10:35
    quarta-feira, 1 de abril de 2015 20:39
  • Boa noite Fabiano,

    Você pode armazenar os dados em sessão, que são objetos que ficam vivos durante todo o ciclo da navegação do usuário em todo o projeto. Para armazenar os dados na session, você pode fazer da seguinte maneira.

    Session["Campo1"] = tela.Campo1.Text;
    Session["Campo2"] = tela.Campo2.Text;
    Session["Campo3"] = tela.Campo3.Text;

    Para recuperar o valor da session, você pode fazer da seguinte maneira.

    Tela.Campo1.Text = Session["Campo1"].ToString();
    Tela.Campo2.Text = Session["Campo2"].ToString();
    Tela.Campo3.Text = Session["Campo3"].ToString();

    Abs.

    Bruno Destro


    Dicas de programação em .net, C# e SQL - http://smcode.com.br/blog.aspx

    quinta-feira, 2 de abril de 2015 00:27
  • Você pode salvar os dados em sessão, e depois recuperá-los no postback da página de retorno.

    • Marcado como Resposta Fabiano Pires quinta-feira, 2 de abril de 2015 10:35
    quarta-feira, 1 de abril de 2015 22:31

Todas as Respostas

  • Boa Tarde Fabiano,

    Você tem mesmo a necessidade de abrir outra pagina?

    Recomendo utilizar PopupModal, com isso você não precisa sair da pagina que você está!

    Caso tenha alguma duvida em utilizar o PopupModal junto ao seu projeto especifique oque você realmente precisa preencher em uma outra pagina para que possamos resolver seu problema.

    Caso  a informação for útil, marque como resposta!

    Att,

    Márcio Camargo

    • Marcado como Resposta Fabiano Pires quinta-feira, 2 de abril de 2015 10:35
    quarta-feira, 1 de abril de 2015 20:17
  • Fabiano, boa noite!

    Pode salvar e recuperar os dados e popular seus campos isso tudo no clique e pode também salvar seus dados e adiciona-los em uma session depois fazer um cast desta session e popular seus campos e também pode seguir a dica do Marcio!


    Se a resposta for útil, favor votar como útil para que ajude outros usuários com a mesma dúvida.

    Att,

    André Côrte
    Analista de Sistema
    Skype: corte.solutions
    Nosso trabalho
    Grupo de Estudo no Facebook
    Canal de Estudo no Youtube

    • Marcado como Resposta Fabiano Pires quinta-feira, 2 de abril de 2015 10:35
    quarta-feira, 1 de abril de 2015 20:39
  • Você pode salvar os dados em sessão, e depois recuperá-los no postback da página de retorno.

    • Marcado como Resposta Fabiano Pires quinta-feira, 2 de abril de 2015 10:35
    quarta-feira, 1 de abril de 2015 22:31
  • Boa noite Fabiano,

    Você pode armazenar os dados em sessão, que são objetos que ficam vivos durante todo o ciclo da navegação do usuário em todo o projeto. Para armazenar os dados na session, você pode fazer da seguinte maneira.

    Session["Campo1"] = tela.Campo1.Text;
    Session["Campo2"] = tela.Campo2.Text;
    Session["Campo3"] = tela.Campo3.Text;

    Para recuperar o valor da session, você pode fazer da seguinte maneira.

    Tela.Campo1.Text = Session["Campo1"].ToString();
    Tela.Campo2.Text = Session["Campo2"].ToString();
    Tela.Campo3.Text = Session["Campo3"].ToString();

    Abs.

    Bruno Destro


    Dicas de programação em .net, C# e SQL - http://smcode.com.br/blog.aspx

    quinta-feira, 2 de abril de 2015 00:27
  • Tenho um sistema de vendas em winforms e irei migrar para asp,  tenho uma tela de orçamentos com dezenas de campos onde capturamos todas as necessidades do clientes, nessa mesma tela tenho um grid que exibe N propostas para o orçamento. Ao editar/criar uma proposta abre-se outra janela com outas dezenas de campos. Com as dicas de vocês um popupmodal seria a melhor opção para editar os campos da proposta e ao voltar atualizar somente o grid de propostas, nesse caso variáveis de sessão irão dar muito trabalho pois são muitos campos mas serão uteis em outro local no projeto.

    qualquer novidade posto novamente, obrigado pessoal todas as dicas foram validas.


    Fabiano Pires

    quinta-feira, 2 de abril de 2015 10:34
  • Fabiano, você também pode guardar objetos nas sessões.
    Poderia fazer da seguinte forma:

    [Serializable]
    public class Objeto
    {
        public string Campo1 {get; set;}
        public string Campo2 {get; set;}
        public string Campo3 {get; set;}
    }
    
    public void PreencherObjeto()
    {
        Objeto obj = new Objeto();
        obj.Campo1 = TextBox1.Text;
        obj.Campo2 = TextBox2.Text;
        obj.Campo3 = TextBox3.Text;
        Session["_objeto"] = obj;    
    }
    
    public Objeto RecuperarObjeto()
    {
        return (Objeto)Session["_objeto"];
    }

    quinta-feira, 2 de abril de 2015 11:03
  • Fabiano, 

    não sei se resolveu o problema já, mas  acho que poderia fazer de duas formas:

    1°- criando uma DIV com o conteúdo que deve ser carregado após clicar no grid. E manipular a visibilidade dessa DIV quando precisar.

    2°- utilizando um MODAL FADE do bootstrap, e nele você irá mostrar os campos que necessita, e depois ao fechar ele, ainda estará na URL que estava antes. 

    Acho que das 2 formas você consegue resolver.


    quinta-feira, 2 de abril de 2015 13:38
  • legal Arthur,  vou simular assim também.

    Outra duvida que surgiu, no meu sistema de orçamentos preciso selecionar o cliente, cheguei a pensar em colocar em uma combobox mas é inviável carregar milhares de registros nela,  outra opção foi colocar um textbox e um botão para selecionar o cliente, nesse botão abriria um PopUp com uma consulta ao cadastro de clientes para selecioná-lo e ao retornar a tela de orçamentos preenchendo o textbox com o cliente selecionado.

    Pensei no popup porque em meu sistema tenho outros modulos que irão precisar escolher o cliente e posso aproveitar a mesma pagina popup.

    Sabe me dizer se essa é uma boa pratica?  e se sabe como posso fazer para selecionar o client no popup e atualizar o textbox da outra pagina?


    Fabiano Pires

    quinta-feira, 2 de abril de 2015 18:20
  • Fabiano, 

    Não precisei fazer esse tipo de implementação até o momento ainda. Mas acredito que trabalhar com pop ups não seja tão legal pelo fato de o navegador poder bloquear eles.

    Eu acho que se fosse uma lista grande, eu faria via ajax, fazendo a aplicação gerar um JsonResult e no ajax carregar os dados no combobox.

    Mas não sei te informar se é a forma ideal.


    Att, Arthur Augusto

    domingo, 5 de abril de 2015 14:20