Hallo,
mir wird in meiner Webanwendung beim Starten in unregelmäßigen Abständen eine Exception geworfen und ich weiß nicht wieso.
Hier mal der Quellcode:
#region Variablendeklaration
private static TreeNode KindTypen = new TreeNode("unterTyp");
private static TreeNode KindObjekte = new TreeNode("unterObjekt");
private static TreeNodeCollection unterTypen = new TreeNodeCollection();
private static TreeNodeCollection unterObjekte = new TreeNodeCollection(KindTypen);
#endregion
protected void Page_Load(object sender, EventArgs e)
{
OleDbConnection con = new OleDbConnection
(ConfigurationManager.ConnectionStrings
["Logbuch2ConnectionString"].ConnectionString);
if (!IsPostBack)
{
KindTypen.ChildNodes.Add(KindObjekte);
// Select Command liest alle Typen aus der Tabelle
OleDbCommand cmd = new OleDbCommand("select typ from kObjekteType", con);
con.Open(); // Verbindung zur Datenbank öffnen
DbDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
// ObjektTypen werden zur TreeView als Node hinzugefügt
KindTypen = new TreeNode(dr["typ"].ToString());
unterTypen.Add(KindTypen);
TreeView1.Nodes.Add(KindTypen);
}
dr.Close();
con.Close(); // Verbindung zur Datenbank schließen
}
}
Es kommt dann ab und an beim Starten dieser Fehler an der Stelle
"KindTypen.ChildNodes.Add(KindObjekte);":
ArgumentOutOfRangeException
Der Index muss sich innerhalb der Listenbegrenzung befinden
Parametername: Index
Weiß jemand woran das liegt und wie ich das verbessern kann?
Keiner n Plan?
Mich verwirrt so sehr, dass der Fehler immer nur ab und an mal kommt und so unregelmäßig, macht irgendwie keinen Sinn.
kann es sein dass die Exception bei einem Postback passiert. Du hast oben angegeben, dass bei !IstPostback die Aktion durchgeführt werden soll.
Grüsse
Daniel
Space Profile
Wer nicht fragt, der nicht gewinnt
Ja richtig bei !IsPostBack
D.h. das Ganze wird nur aufgerufen wenns KEIN Postback ist.
Also beim ersten Laden der Seite und genau dann kommt ja auch die Exception, aber wie gesagt nur ab und an mal wenn se Lust hat.
Wenns n Postback ist, geht der da ja gar nicht erst rein und ruft den Befehl auch nicht auf.
Wirklich Sinn macht die Exception an dieser Stelle für mich aber nicht, von wegen Out of Range...