none
Como Pegar o Texto de um TEXTBOX e colocar no meu OBJETO? RRS feed

  • Pergunta

  • Boa Tarde,
    Tenho a seguinte situação.
    Quando logo no Sistema, armazeno o objeto usuário numa Sessão assim:

    Session[

    "Usuario"] = UsuarioDB.Usuario;

    Em Seguida, eu tenho uma tela para o usuário atualizar seus dados cadastrais.
    Antes de abrir essa tela que tem vários textbox, eu passo para cada textbox seu respectivo valor que está no Usuario da sessao assim:

    edtCodigo.Text = ((

    Usuario)Session["Usuario"]).Cod_usu.ToString();

    edtNome.Text = ((

    Usuario)Session["Usuario"]).Nom_usu;

    edtLogin.Text = ((

    Usuario)Session["Usuario"]).Login;

    edtSenha.Text = ((

    Usuario)Session["Usuario"]).Senha;

    Até ai tudo bem, todos os campos do formulário são abastecidos com os seus valores.

    Nessa tela tenho o botão salvar.
    Quando clico em salvar, quero pegar os novos dados e adicionar em um novo objeto USUARIO assim:

     

    Usuario User = new Usuario();

    User.Cod_usu =

    Convert.ToInt32(edtCodigo.Text);

    User.Nom_usu =

    "LENO PASSOS";

    User.Login = edtLogin.Text;

    User.Senha = edtSenha.Text;

    Só que quando vou verificar o que está nos campos do objeto Usuário, não está o que foi digitado no formulário, e sim o que estava antes quando a tela foi aberta, ou seja, preciso de pegar esses dados que foram editados no formulário e jogar para o meu objeto.

    Alguem pode me Ajudar?

    Obrigado!

    sábado, 13 de março de 2010 19:54

Respostas

  • Você pode seguir essa rotina:

    1) Crie uma método para popular os textbox, algo como PopulaTextBox(); Nesse método você faz justamente o que vocÊ citou, atribui os campos de textbox aos valores armazenados na sessão.

    2) Quando o usuário gravar os dados você passa os novos valores pra sessão, pois mesmo estando no banco de dados é necessário atualizar os valores para a sessão.

    3)Depois de gravado basta chamar seu método PopulaTextBox(); Isto deixa seu código mais organizado e evita repetição de código.

    Abraço
    • Marcado como Resposta Harley Araujo terça-feira, 16 de março de 2010 11:35
    segunda-feira, 15 de março de 2010 11:43

Todas as Respostas

  • isso é problema de postback
    as informações da pageLoad coloca dentro do IF abaixo

    if(!isPostBack)
    {
         ...
         ...
         ...
    }

    abraço,
    Leonardo B. Moreira - Web Developer .net with asp.net and C# - I know, it is only programming but I like it.
    • Sugerido como Resposta Harley Araujo terça-feira, 16 de março de 2010 11:35
    domingo, 14 de março de 2010 02:54
  • Você pode seguir essa rotina:

    1) Crie uma método para popular os textbox, algo como PopulaTextBox(); Nesse método você faz justamente o que vocÊ citou, atribui os campos de textbox aos valores armazenados na sessão.

    2) Quando o usuário gravar os dados você passa os novos valores pra sessão, pois mesmo estando no banco de dados é necessário atualizar os valores para a sessão.

    3)Depois de gravado basta chamar seu método PopulaTextBox(); Isto deixa seu código mais organizado e evita repetição de código.

    Abraço
    • Marcado como Resposta Harley Araujo terça-feira, 16 de março de 2010 11:35
    segunda-feira, 15 de março de 2010 11:43