[C#] Delete-funktion --> falsche ID wird übergeben

Durch sorgfältiges Debuggen habe herausgefunden, dass es an der Funktion liegt de nach klicken des Buttons "Download hinzufügen" liegt.

C#:
/// <summary>
        /// Buttonereigniss welches die Funktionen zum Schreiben und aktualisieren des XML-Files aufruft
        /// </summary>
        /// <param name="Sender"></param>
        /// <param name="e"></param>
        protected void btntest(Object Sender, EventArgs e)
        {
            
            //erstellt eine neue Downloads-klasse ds
            Classes.Downloads ds = this.Downloads;
            //erstellt eine neue Downloadklasse dl
            Classes.Download dl = new bluestep.DownloadManager.Classes.Download();
            //ID welche in der Klasse Download definiert ist = ID des Datensatzes
            dl.ID = this.ID; ---> hier wird keine ID übergeben, alles 0
            //Description welche in der Klasse Download definiert ist = Description des Datensatzes
            dl.Description = this.txt_content.Text;
            //CreationTime welche in der Klasse Download definiert ist = CreationTime des Datensatzes
            dl.CreationTime = DateTime.Now;
            //Url welche in der Klasse Download definiert ist = Url des Datensatzes
            dl.Url = this.txt_url.Text;
            //Name welcher in der Klasse Download definiert ist = Name des Datensatzes
            dl.Name = this.txt_dlname.Text;

            //wenn das File geschrieben werden kann...
            if (ds.AddUpdateDownload(dl))
            {

                //...dann wird eine bestätigung eingeblendet...
                lbl_result.Text = "Download wurde hinzugefügt!<br> Sie werden nun zur Download-Liste weitergeleitet.";
                pnl_result.Visible = true;
                pnlForm.Visible = false;

                Page.RegisterClientScriptBlock("Redirect","<script language='javascript'>Redirect();</script>");
                
            }
            else
            {
                //...wenn nicht dann kommt eine Fehlermeldung
                lbl_result.Text = "Download konnte nicht hinzugefügt werden!<br>Bitte versuchen sie es erneut.";
                pnl_result.Visible=true;
            }

            
        }
 
Durch sorgfältiges Debuggen habe herausgefunden, dass es an der Funktion liegt die nach klicken des Buttons "Download hinzufügen" ausgeführt wird.
Hier die Funktion:
C#:
/// <summary>
        /// Buttonereigniss welches die Funktionen zum Schreiben und aktualisieren des XML-Files aufruft
        /// </summary>
        /// <param name="Sender"></param>
        /// <param name="e"></param>
        protected void btntest(Object Sender, EventArgs e)
        {
            
            //erstellt eine neue Downloads-klasse ds
            Classes.Downloads ds = this.Downloads;
            //erstellt eine neue Downloadklasse dl
            Classes.Download dl = new bluestep.DownloadManager.Classes.Download();
            //ID welche in der Klasse Download definiert ist = ID des Datensatzes
            dl.ID = this.ID; ---> hier wird keine ID übergeben, alles 0
            //Description welche in der Klasse Download definiert ist = Description des Datensatzes
            dl.Description = this.txt_content.Text;
            //CreationTime welche in der Klasse Download definiert ist = CreationTime des Datensatzes
            dl.CreationTime = DateTime.Now;
            //Url welche in der Klasse Download definiert ist = Url des Datensatzes
            dl.Url = this.txt_url.Text;
            //Name welcher in der Klasse Download definiert ist = Name des Datensatzes
            dl.Name = this.txt_dlname.Text;

            //wenn das File geschrieben werden kann...
            if (ds.AddUpdateDownload(dl))
            {

                //...dann wird eine bestätigung eingeblendet...
                lbl_result.Text = "Download wurde hinzugefügt!<br> Sie werden nun zur Download-Liste weitergeleitet.";
                pnl_result.Visible = true;
                pnlForm.Visible = false;

                Page.RegisterClientScriptBlock("Redirect","<script language='javascript'>Redirect();</script>");
                
            }
            else
            {
                //...wenn nicht dann kommt eine Fehlermeldung
                lbl_result.Text = "Download konnte nicht hinzugefügt werden!<br>Bitte versuchen sie es erneut.";
                pnl_result.Visible=true;
            }

            
        }

Was ist hier falsch?
 
Das kann ich dir sagen und zwar erstellst du beim Editieren die Variable ID nur lokal und da du keine Zeile vorher löscht ist es natürlich auch 0.
 
Ja ich weiß, aber du willst ihm doch eine ID übergeben und wenn du this.ID ausgibst, ist diese Variable leer, da die bei dir erst beim löschen gefüllt wird, beim editieren erstellst du nur eine lokale Variable ID. Soweit ich das in deinem Code sehen kann.
 

Neue Beiträge

Zurück