Speichern einer List<int> in viewstate

Ich habe eine aspx-Seite, die die folgenden:

  • Ein repeater mit einem linkbutton in jedem
  • Die link-Taste hat eine commandargument der einen integer-Wert
  • Ein user control

Die Idee ist, dass, wenn der Benutzer klickt auf den linkbutton, den Wert der commandarguement wird in einer Liste gespeichert. Kein problem, können Sie denken, aber ich brauche den Wert, gespeichert in einer Liste in der usercontrol, nicht in der ASPX-Seite. Die Liste muss beibehalten werden über postbacks, also muss Sie auch gespeichert werden, in der viewstate.

So habe ich eine öffentliche Eigenschaft in der Benutzer-Steuerelement-wie so:

public List<int> ImageString {
    get {
        if (this.ViewState["ImageString"] != null) {
            return (List<int>)(this.ViewState["ImageString"]);
        }
        return new List<int>();
    }
    set { this.ViewState["ImageString"] = value; }
}

Und dann hoffte ich, dass aus meiner aspx-Seite, die ich hinzufügen könnte, eine code-Zeile hinzufügen, um einen Wert der Liste wie so:

this.LightBoxControl.ImageString.Add(value);

Das problem, das ich immer bin, ist, dass das der Wert ist eigentlich nie zu der Liste Hinzugefügt. Die Anzahl ist immer null.

Ich bin sicher, dass gerade ich habe die Eigenschaft falsch, aber ich bin mir nicht sicher, wie Sie Sie zu Recht..

Jegliche Hilfe würde sehr geschätzt werden.

Dank
Al

InformationsquelleAutor higgsy | 2011-09-08
Schreibe einen Kommentar