yslladd 0 Denunciar post Postado Maio 22, 2009 Boa tarde a todos, vou ser direto, Tenho uma pagina que gera TextBox dinamicamente. Mas eu preciso algumas vezes, quando o usuario clicar para editar esses TextBox eu preciso fazer com q o campo seja apenas leitura "ReandOnly". Quando o campo se torna leitura e eu clico em salvar, da o seguinte erro: Failed to load viewstate. The control tree into which viewstate is being loaded must match the control tree that was used to save viewstate during the previous request. For example, when adding controls dynamically, the controls added during a post-back must match the type and position of the controls added during the initial request. Alguem tem alguma dica? Isso só acontece quando eu mudo os TextBoxes para leitura "ReadOnly".... Quando eu cadastro pela primeira vez tudo fica normal.... Desde de já agradeço. Um abraço a todos e bom fim de semana! Compartilhar este post Link para o post Compartilhar em outros sites
Oenning 0 Denunciar post Postado Maio 24, 2009 Nossa, nunca tinha visto esta restrição que o ViewState faz (bem tosco por sinal)... Você está alterando para ReadOnly via C# ou via javascript? Coloca o código ai. Compartilhar este post Link para o post Compartilhar em outros sites
yslladd 0 Denunciar post Postado Maio 25, 2009 Segue o codigo. PS: existe um UserControl q é onde se encontra os valores "ucLancFin.ascx.cs" TextBox txtvl_dotatual1 = (TextBox)ucLancFin.FindControl("txtvl_dotatual12" + ano.ToString());...//após eu incluir esse codigo acima, eu faço uma condição e aplico esse codigo a seguir: if (t21.t21_cd_fase == 2) { txtvl_provisionado1.ReadOnly = true; } Compartilhar este post Link para o post Compartilhar em outros sites
Oenning 0 Denunciar post Postado Maio 26, 2009 Tente usar javascript. Usando getElementById, você pode setar o valor: readOnly = true; Compartilhar este post Link para o post Compartilhar em outros sites
yslladd 0 Denunciar post Postado Maio 26, 2009 você sabe como eu adiciono um js no meu textbox? Sendo que eu tenho que fazer uma condição em c# e meu textbox é dinamico. Compartilhar este post Link para o post Compartilhar em outros sites
Juliano.net 2 Denunciar post Postado Maio 26, 2009 Adicionar um JS de que forma? Para responder a um evento? Caso sim, utilize o Attributes.Add textBox1.Attributes.Add("onblur","alert('Perdeu o foco');") Compartilhar este post Link para o post Compartilhar em outros sites
Oenning 0 Denunciar post Postado Maio 26, 2009 Essa condição não pode ser feita no javascript ao invés do C#? Compartilhar este post Link para o post Compartilhar em outros sites
yslladd 0 Denunciar post Postado Maio 27, 2009 Bem amigos, muito obrigado pelas dicas, mas não deu resultado, tentei incluir via java script mas tambem não funcionou, vou tentar de outra forma, outro método, ao invez de texbox readonly, vou tentar label. Muito obrigado a todos que opnaram e os que não tbm abraços!!! Compartilhar este post Link para o post Compartilhar em outros sites
Oenning 0 Denunciar post Postado Maio 28, 2009 Pois é, nunca me deparei com esse erro. Boa sorte =) Compartilhar este post Link para o post Compartilhar em outros sites
yslladd 0 Denunciar post Postado Maio 28, 2009 Bom dia, depois de uma semana batendo cabeça consegui resolver. Era apenas um código simples. segue o codigo abaixo, para deixar os campos dinamicos apenas leitura. if(minha condição){ TextBoxDinamico.Attributes.Add("readonly","readonly"); } É bem simples né, "mas descobrir qualo parafuso que é difícil...rs Agradeço a todos pela força, abraço a todos e sucesso! Compartilhar este post Link para o post Compartilhar em outros sites