Objeto em páginas ASPX

3 respostas
M

Tenho uma página WEB Form, no code behind dela eu criei um objeto assim:

using System;
using System.Web.UI;
using System.Web.UI.WebControls;
using Oracle.DataAccess.Client;
using System.Drawing;

namespace WebIbema.ReservaVolume
{
    public partial class frmItemPedidoReserva : System.Web.UI.Page
    {

           MCPedido.ItemPedido _item = new MCPedido.ItemPedido();


           protected void Page_Load(object sender, EventArgs e)
           {
           }

Toda vez que ocorre o postback na página o objeto é estânciado novamente, mas eu preciso dos dados contidos nele.

Eu pensei em salvar o objeto em session e no postback recuperar ele mas não sei se essa é a melhor forma de proceder.

Tem alguma sugestão?

3 Respostas

juliofsn

Bom, pra começar, acho que seu tópico deveria estar em "Outras Linguagens", mas já que você já colocou aqui...

Você pode instanciar esse objeto no Page_Load da sua página, usando a propriedade IsPostback para garantir que ele só será instanciado quando a página for carregada da primeira vez:

using System;
using System.Web.UI;
using System.Web.UI.WebControls;
using Oracle.DataAccess.Client;
using System.Drawing;

namespace WebIbema.ReservaVolume
{
    public partial class frmItemPedidoReserva : System.Web.UI.Page
    {

           MCPedido.ItemPedido _item = null;


           protected void Page_Load(object sender, EventArgs e)
           {
                      if(!Page.IsPostback)
                      {
                                 MCPedido.ItemPedido_item = new MCPedido.ItemPedido();
                      }
           }
M

Certo fiz como disse,

Agora ele não istancia um novo objeto, mas quando vou utilizar o objeto ele está como null. Talvez a solução seja realmente armazenar em uma session ou viewstate, mas minha dúvida fica em que momento salvar, existe um evento que seja o oposto do Page_Load ou seja um evento que seja startado antes de dar o reload na página?

Obrigado.

juliofsn

Existe o Pre_Render, que é executado antes de carregar os componentes na página.

Criado 17 de novembro de 2009
Ultima resposta 17 de nov. de 2009
Respostas 3
Participantes 2