2012-03-29 9 views
1

frage ich mich, warum, wenn ich eine öffentliche Int erklären, dass ich jedes Mal wenn ich die Seite neu implementieren, wird die int immer zu gehen 1.Ausgabe mit int ++ und Seitenlade

Dies ist der Code, den ich verwenden.

Ich deklariere das Int vor dem Laden der Seite. Und jede Seite zu laden, die int ist 1. Es sollte sein 2, 3 etc ...

public int countIdPrevious; 

    protected void Page_Load(object sender, EventArgs e) 
    { 

     countIdPrevious++; 

    } 
+0

Sie müssen über die zustandslose Natur von http lernen. Ihre Page-Klasse wird bei jeder Anfrage neu instanziiert. – Jan

Antwort

3

Dies liegt daran, dass Felder in ViewState nicht enthalten sind.

Drehen Sie dieses Feld in eine ViewState-backed property und alles wird gut.

1

Das Problem für jede Seite zu laden ist, dass Sie eine neue Instanz der Seite Klasse erhalten. Um dies zu umgehen, müssen Sie Ihre Variable in einem anderen Medium wie einer Sitzung oder ViewState beibehalten.

Verwandte Themen