Tutoriais e Ferramentas – Michel Carvalho Lopes
ASP.NET
ASP.NET – Transferindo dados entre web forms
23/11/09
Como todos devem concordar web forms foi uma evolução para o desenvolvimento web, porem como nem tudo na vida é como gostariamos.
Com ASP 3.0 podiamos passar valores de uma página para outra usando o método POST. Agora com ASP.NET não funciona da mesma forma, pois a forma como os dados são tratados mudou, para atender a necessidade, hoje o desenvolvimento web pode ser feito de forma orientada a objeto.
Mas é claro que exintem formas de contornar essa situação e neste artigo vou mostrar quais são elas:
- Utilização das variáveis de sessão (session)
- Utilizando o velho e bom QueryString
- Usando o método Server.Transfer
- Usando a classe HttpContext
A idéia desse artigo é mostrar como transitar dados de um web form (form1.aspx) para o web form (form2.apx).
Veja os exemplos nos links acima.
ASP.NET – Usando Server.Transfer
23/11/09
A utilização deste método é um pouco mais complexa, mas é a maneira mais elegante de passar valores, porem para isso você terá que definir as propriedades de uma classe e acessar de outra página, veja o exemplo.
Vamos definir duas propriedades em form1.aspx:
- Nome
- Site
public readonly string Nome { get { return txtNome.Text; } } public readonly string Site { get { return txtSite.Text; } }
Agora na ação do botão escreveremos apenas uma linha:
protected void btnEnviar_Click(object sender, EventArgs e) { Server.Transfer("form2.aspx"); }
No formulário que irá receber os dados, no nosso caso form2.aspx, criamos uma instância do form1.aspx, veja abaixo:
protected void Page_Load(object sender, EventArgs e) { //cria uma instância de formulário form1.aspx Form1 form1 = new Form1(); //obtem a referencia para manipular da instância atual form1 = (Form1)Context.Handler; txtNome.Text = form1.Nome; txtSite.Text = form1.Site; }
Considero este o melhor método de fazer transição de valores entre webforms ASP.NET, tem mais cara de C#.

