Editar dados de Usuarios
22/07/2014
0
protected void Page_Load(object sender, EventArgs e) { btnCadCli.Text = "Atualizar"; pnldadosCLi.Visible = false; if (Session["cliente"] != null) { pnldadosCLi.Visible = true; } if (IsPostBack) { //ha galera se alguem tambem puder ajudar nao sei se esta correto assim, mas aqui tenho que passar o codigo do cliente que esta logado para variavel, tenho que pegar pela session o codigo mas nao sei bem como fazer. codCLi = cliente.codCliente; cliente = clientes.Find(c => c.codCliente == codCLi).First<CLIENTE>(); txtCpfCli.Text = cliente.cpfCliente; txtNomeCli.Text = cliente.nomeCliente; dtlEstCli.SelectedValue = cliente.estadoCliente; txtCidCli.Text = cliente.cidadeCliente; txtEndCli.Text = cliente.enderecoCliente; txtMailCli.Text = cliente.emailCliente; txtFoneCli.Text = cliente.foneCliente; //aqui e para nao deixar ele alterar os dados apenas ler txtCpfCli.Enabled = false; txtNomeCli.Enabled = false; dtlEstCli.Enabled = false; txtCidCli.Enabled = false; txtEndCli.Enabled = false; txtMailCli.Enabled = false; txtFoneCli.Enabled = false; }
ai apos ele ver os dados se ele clicar no botao atualizar os campos sao liberados com os dados para ele editar, e o botao muda para salvar. Esta assim...
protected void btnCadCli_Click(object sender, EventArgs e) { //agora estou habilitando os campos para que ele possa editar txtCpfCli.Enabled = true; txtNomeCli.Enabled = true; dtlEstCli.Enabled = true; txtCidCli.Enabled = true; txtEndCli.Enabled = true; txtMailCli.Enabled = true; txtFoneCli.Enabled = true; btnCadCli.Text = "Salvar"; //este é o metodo que chamo para realmente ele atualizar os dados (salvar no banco), o codigo dele esta abaixo AtualizarCLiente(); cliente = null; clientes = null; }
aqui esta o codigo desse metodo que chamei no click do botao
public void AtualizarCLiente() { codCLi = int.Parse(txtCpfCli.Text); cliente = clientes.Find(c => c.codCliente == codCLi).First<CLIENTE>(); cliente.cpfCliente = txtCpfCli.Text; cliente.nomeCliente = txtNomeCli.Text; cliente.estadoCliente = dtlEstCli.SelectedValue; cliente.cidadeCliente = txtCidCli.Text; cliente.enderecoCliente = txtEndCli.Text; cliente.emailCliente = txtMailCli.Text; cliente.foneCliente = txtFoneCli.Text; clientes.Update(cliente); clientes.SaveChanges(); cliente = null; clientes = null; }
bem galera esta dando um erro alguem sabe o que pode ser, ou tem algum jeito melhor pra eu fazer isso?
Grato Delivery TI.
Celiol.
Posts
04/08/2014
Celiol.
06/08/2014
Celiol.
Xiiii galera não sei onde esta o erro mas já comparei com um aqui que eu fiz e ta tudo certo.
Alguém ta vendo algo que estou deixando passar ?
Grato. Miller.
06/08/2014
Celiol.
Xiiii galera não sei onde esta o erro mas já comparei com um aqui que eu fiz e ta tudo certo.
Alguém ta vendo algo que estou deixando passar ?
Grato. Miller.
06/08/2014
Joel Rodrigues
08/08/2014
Celiol.
ou algo assim.
09/08/2014
Joel Rodrigues
20/08/2014
Celiol.
O que tem aqui é o EntityState seria isso que esta falando? Se for tem outro problema pois pelo que vi ele é mais pra eu comparar cara.
DeliveryTI.
20/08/2014
Joel Rodrigues
21/08/2014
Joel Rodrigues
// modificar o objeto "cliente", alterando suas propriedades conforme necessário context.Entry(cliente).State = EntityState.Modified; context.SaveChanges();
Onde:
- context é a instância do DBContext;
- cliente é a instância do tipo Cliente, que é a entidade;
21/08/2014
Celiol.
Coloquei um brackPoint bem nessa linha para ver o que ele esta passando para instancia cliente e ele esta passando os mesmo dados que vem do banco.
clientes.Update(cliente);
E nas linhas que eu alterei coloquei um brack para ver se passa o dado que eu alterei e ele nao passa na verdade quando vou ver o que tem ja tem o dado que vem do banco.
Por exemplo, no textbox endereco ele carrega o dado (Riachos), quando vou ver antes de editar ja esta la na entidade cliente.endereco (Riachos), ai eu edito o dado para (RIacho Verde) e quando o cai no backpoint ele me leva na no cliente.endereco, mas la nao foi atualizado continua apenas (Riachos).
Tentei antes de passar os dados para a entidade cliente, colocar os textbox tudo como null, mas ai quando eu executei a aplicacao ele deu erro ao tentar carregar a pagina (object no contain elements).
Qual sera a saida agora.
Grato DeliveryTI.
21/08/2014
Celiol.
Xiiiii, ta dificil a coisa aqui viu.
01/09/2014
Joel Rodrigues
clientes.Update(cliente);
Verifique o conteúdo das objeto cliente, se ele foi ou não alterado neste ponto.
Clique aqui para fazer login e interagir na Comunidade :)