Von der Datenbank bis zur Oberfläche mit .NET, Teil 3: Eine Weboberfläche mit ASP.NET

Listing 6

Listing 6: Erweiterungen für Buchung.aspx.cs

protected void Page_Load(object sender, EventArgs e)
{
...

// Wenn ein Passagier neu angelegt wurde, zeige diesen an
if (Session["Passagier"] != null && Session["Passagier"] is Passagier)
{
Passagiere = new ObservableCollection<Passagier> { Session["Passagier"]
as Passagier };

// Datenbindung an Tabelle
this.C_GefundenePassagiere.DataSource = Passagiere;
this.C_GefundenePassagiere.DataBind();
// wähle diesen Passagier aus
this.C_GefundenePassagiere.SelectedIndex = 0;
// setze die Merk-Variable zurück
Session["Passagier"] = null;

}

// Wenn ein Flug vor dem Anlegen des Passagiers ausgewählt war,
// zeige diesen an
if (Session["GewaehlterFlug"] != null)
{
Flug = client.GetFlug((int)Session["GewaehlterFlug"]);
Fluege = new ObservableCollection<Flug> { Flug };
// Datenbindung an Tabelle
this.C_GefundeneFluege.DataSource = Fluege;
this.C_GefundeneFluege.DataBind();
// wähle diesen Flug aus
this.C_GefundeneFluege.SelectedIndex = 0;
// setze die Merk-Variable zurück
Session["GewaehlterFlug"] = null;
}
}

protected void C_NeuerPassagier_Click(object sender, EventArgs e)
{
// gewählten Flug merken
if (this.C_GefundeneFluege.SelectedIndex > 0) Session["GewaehlterFlug"]
= (int)this.C_GefundeneFluege.SelectedDataKey[0];
// Weitergabe an neue Seite
Response.Redirect("NeuerPassagier.aspx");
}