Über den ViewState zum Beispiel.
Dabei werden diese Infos verschlüsselt als Hidden fields übergeben und wieder ausgelesen.
Das setzt natürlich voraus, dass die Klasse als Serializable delariert ist.
Code:
//
[Serializable]
public class Kunde
{
string name;
public string Name
{
get { return name; }
set { name = value; }
}
public Kunde(string name)
{
this.name = name;
}
}
Deinem WebForm kannst du diese property verpassen.
Code:
//
public Kunde Kunde
{
get { return (Kunde) ViewState["Kunde"]; }
set { ViewState.Add("Kunde", value); }
}
Greifst du oft auf den Wert zu kannst du ihn in jedem PostBack in eine richtige Instanz ablegen:
Code:
//
Kunde kunde;
void Page_Load(object sender, EventArgs e)
{
kunde = (Kunde) ViewState["Kunde"];
}
public Kunde Kunde
{
get { return kunde; }
set
{
kunde = value;
ViewState.Add("Kunde", kunde);
}
}
void Button1_Click(object sender, EventArgs e)
{
Kunde = new Kunde("Kurt");
}
void Button2_Click(object sender, EventArgs e)
{
if (Kunde != null)
{
Label1.Text = Kunde.Name;
} else
{
Label1.Text = "nüscht";
}
}