Spyck 0 Denunciar post Postado Novembro 26, 2009 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
quintelab 91 Denunciar post Postado Novembro 26, 2009 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
Eddy Goulart 2 Denunciar post Postado Novembro 26, 2009 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