Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

yslladd

[Resolvido] TextBox dinamico

Recommended Posts

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

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

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

Tente usar javascript.

Usando getElementById, você pode setar o valor: readOnly = true;

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

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

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.