2016-05-31 6 views
1

Wenn ich auf die ImageButtons klicke schreibt es die StickerID, aber woher weiß es, welche Klasseninstanz zu einem bestimmten Benutzer gehört und wo werden diese Daten aufbewahrt?Wo/Wie sind Klassenmitglieder in asp.net Webforms gespeichert

Ich habe Session und hat Null-Einträge darin, decodiert clientViewState keine Daten für die Klasse dort entweder mit dem Rahmen

+0

Die SO-Community kann nicht wissen, wie Ihre Site die Daten speichert. Fühlen Sie sich frei, den Code zu lesen/debuggen, um es herauszufinden. –

Antwort

0

Instanzvariablen werden nicht beibehalten gehalten wird. Sie werden verworfen, wenn die aktuelle Anfrage endet. Sie müssen sie manuell beibehalten, wenn Sie den Status beibehalten möchten.

ASP.NET behält den persistenten speicherinternen Status nicht über Anforderungen hinweg bei. Das ist ein Anti-Muster.

+0

Was mich wirklich verwirrt ist, wenn ich auf die ImageButtons klicke, bekomme ich die entsprechende StickerID, ich erwarte null oder etwas nicht initialisiert, da ich die Klasseninstanz – qweqrator

+0

nicht behalte. Wahrscheinlich initialisierst du diese Variable in derselben Anfrage. Oder verwenden Sie Datenbindung? Das Framework kann in diesem Fall den Status durch den ViewState trichterieren. – usr

+0

Getestet, es scheint, dass es die Daten in ViewState benötigt, wenn ich Anfragen mit leerem Wert (value = "") mache, bleibt das Label unberührt – qweqrator