.net web forms, klasa

0

witam, dopiero zaczynam swoja przygode z webformsami i napotkalem maly problem.
Mianowicie, tworze sobie klase ktora posiada 2 pola int i funkcje zmieniajaca te dwa inty.
Teraz mam label1 i 2 pod ktorymi sa wartosci z intow z klasy, a przy kliknieciu w button wywolywana jest funkcja modyfikujaca, problem polega na tym ze z kazdym kliknieciem buttona, obiekt klasy jest tak jakby na nowo tworzony(posiada wartosci z konstruktora a nie te ktore byly po pierwszym kliknieciu). Nie wiem w czym polega problem, czy w miejscu w ktorym tworze obiekt klasy(po za funkcja Button1_Click) czy tez w innym miejscu.
Mam nadzieje ze wytlumaczylem jako tako.

0

Prawdopodobnie problemem jest to, że każde kliknięcie w przycisk przeładowuje stronę, więc wszystkie obiekty są tworzone na nowo. Poczytaj o Page.IsPostback.

0

Użyj ViewState do przechowywania obiektu klasy (albo jego właściwości - zależy od rozmiarów). Twórz nowy obiekt tylko gdy !IsPostBack.
Tu jest trochę informacji i przykład jak korzystać z ViewState:
http://msdn.microsoft.com/en-us/library/bb386448(v=vs.100).aspx

0

dzieki, probuje stworzyc obiekt tylko gdy !ispostback ale po wcisnieciu buttona wyskakuje ze obiekt nie zostal utworzony

2

I wyszli ludzie na ulicę. Setki , tysiące, dziesiątki tysięcy. Machając gniewnie transparentami, krzyczą jednym głosem: "Pokaż swój kod! Pokaż swój kod!"

0
     public partial class play : System.Web.UI.Page
    {
        game gra;
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
               gra = new game();  
            }
          
        }

        protected void Button1_Click(object sender, EventArgs e)
        {

            int txbox = Convert.ToInt16(TextBox1.Text);

           gra.play(txbox, '=');
            Label1.Text = Convert.ToString(gra.a);
            Label2.Text = Convert.ToString(gra.b);
            Label3.Text = gra.c;
        }

   
    }

Plik .cs

0

Nie masz zapisu do ViewState. Musiałbyś po utworzeniu zapisać do ViewState i czytać z niego jeżeli to jest PostBack.

0

cos mam maly problem z tym Viewstate, zapamietuje powiedzmy zmienna a z klasy game do viewstate, modyfikuje ten obiekt z viewstate powiedzmy o -5, jednak za kazydym razem dalej jest tworzony nowy obiekt klasy

0

Aha. Pokaż kod.

0

Posiedzialem i doszedlem, dzieki wielkie za pomoc.

1

Posiedzialem i doszedlem

Doszedłeś od samego siedzenia? Takie rzeczy chyba się leczy... :P

1 użytkowników online, w tym zalogowanych: 0, gości: 1