Hallo,
ich hab 2 Dropdown elemente die beim erstmaligem Aufrufen der ASP.net Seite mit Daten gefüllt werden müssen.
Dies mach ich über eine Funktion die ich mir geschrieben habe. Wichtig ist das diese funktion nur einmal beim Pageload ausgeführt wird.
Ansonnsten soll die Funktion nur per button aufgerufen werden.
Hab leider keine idee wie ich das lösen könnte. Wenn ich die Funktion nämlich über private void Page_Load aufrufe wir sie immer ausgeführt wenn die seite neu aufgebaut wird, sprich auch wenn ein Button gedrückt wird.
Die funktion an sich ist sehr einfach geschrieben...
#region Bind_Data
private void Bind_Data()
{
SqlDataAdapter da = new SqlDataAdapter("SELECT * From hardtyp",sqlcon1 );
SqlDataAdapter da2 = new SqlDataAdapter("SELECT * From hersteller",sqlcon1 );
DataSet ds = new DataSet();
DataSet ds2 = new DataSet();
try
{
ds.Clear();
ds2.Clear();
sqlcon1.Open();
da.Fill(ds, "hardtyp");
da2.Fill(ds2, "hersteller");
}
finally
{
sqlcon1.Close();
neuHardwaretyp_dd.DataSource = ds.Tables["hardtyp"].DefaultView;
neuHardwaretyp_dd.DataTextField = "hardWareTyp";
neuHardwaretyp_dd.DataValueField = "ID";
neuHardwaretyp_dd.DataBind();
neuHersteller_dd.DataSource = ds2.Tables["hersteller"].DefaultView;
neuHersteller_dd.DataTextField = "Hersteller";
neuHersteller_dd.DataValueField = "ID";
neuHersteller_dd.DataBind();
}
}
#endregion
Hoffe ihr könnt mir helfen.
MFG
Mit dem Property
Page.IsPostBack
kannst du prüfen, ob die Seite das Ergebnis eines Postbacks (wie z.B. eines Klicks auf einen Button) ist. Wenn eine Funktion nur einmal beim ersten Laden der Seite ausgeführt werden soll machst du das am besten so (in Page_Load):
if (!Page.IsPostBack)
{
Bind_Data();
}
Die Funktion Bind_Data wird dann nur dann ausgeführt, wenn die Seite kein Ergebnis eines Postbacks ist, d.h. wenn sie zum ersten Mal geladen wurde.
Danke das wars...!
MFG