Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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!
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;
}Tente usar javascript.
Usando getElementById, você pode setar o valor: readOnly = true;
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.
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');")
Essa condição não pode ser feita no javascript ao invés do C#?
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!!!
Pois é, nunca me deparei com esse erro.
Boa sorte =)
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!
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.