Ir para conteúdo

POWERED BY:

Arquivado

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

Spyck

Zerar todos os campos após realizar cadastro

Recommended Posts

Olá !!!

 

Desenvolvi um formulário de cadastro e estou tentando zerar os campos logo

após o cadastro efetuado com sucesso. Quero que a tela fique com os campos em branco para

que o usuário possa efetuar um novo cadastro.

 

Eu tentei desabilitar o viewstate, mas não funcionou.

 

Como o tempo para entrega do projeto acabou eu fui obrigado a apelar e

utilizei o "server.transfer" no final do método de cadastro.

 

Eu utilizei a seguinte declaração no início da página:

 

<%@ Language="c#" AutoEventWireUp="false" contentType="text/html" EnableViewState="false" %>

utilizei direto no controle:

 

asp:TextBox runat="server" id="nome" EnableViewState="false"/>

 

Não funcionou.

 

 

Tem alguma maneira mais elegante de resolver esse problema ?

 

 

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Solução adequada:

* Crie um método que percorre todo seu formulário e sempre que encontrar um TextBox sete a propriedade Text para branco.

 

Solução Alternativa.

* De um response.redirect para o mesmo formulário, ele irá abrir novamente com os campos em branco.

 

Abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Concordo com o gentil moderador,

 

Vou te passar um metodo de mão beijada

 

	public class ModelLimpar
	{
        public static void LimparCampos(ControlCollection painelControle)
        {
            foreach (Control arrControles in painelControle)
            {
                if (arrControles is TextBox)
                {
                    TextBox controleALimpar = (TextBox)arrControles;
                    controleALimpar.Text = "";
                }
                else if (arrControles is DropDownList)
                {
                    DropDownList controleALimpar = (DropDownList)arrControles;
                    controleALimpar.SelectedIndex = 0;
                }
                else if (arrControles is CheckBox)
                {
                    CheckBox controleALimpar = (CheckBox)arrControles;
                    controleALimpar.Checked = false;
                }
            }
        }
       }
Esse metodo limpa apenas 3 objetos, TextBox, CheckBox e DropDownList como voce está vendo, agora vai de você atribuir novos objetos de acordo com sua necessidade.

 

para chamar ele é só passar como parametro uma coleção de controls, no caso abaixo está passando os controls de um updatePanel

 

ModelLimpar.LimparCampos(updateTelefone.ContentTemplateContainer.Controls);

 

Espero ter ajudado.

 

Ou voce pode fazer isso de maneira mais simples..

 

if (cadastroSucesso)
{
txtNome.Text = "";
txtIdade.Text = "";
}

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.