Laden...

Gelegenheitsfehler in TreeView

Erstellt von han vor 17 Jahren Letzter Beitrag vor 17 Jahren 2.763 Views
han Themenstarter:in
43 Beiträge seit 2006
vor 17 Jahren
Gelegenheitsfehler in TreeView

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?

han Themenstarter:in
43 Beiträge seit 2006
vor 17 Jahren

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.

1.433 Beiträge seit 2006
vor 17 Jahren

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

han Themenstarter:in
43 Beiträge seit 2006
vor 17 Jahren

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...