So wählen Sie ein Element aus asp:Dropdownlist laden der Seite aus dem Code-Behind in C#?

Ich habe versucht, so viele Artikel um, wie unten gezeigt, um meine Aufgabe gemacht, aber hat nicht funktioniert als ich Ende immer mit einem NullReferenceException, ich habe gebunden, eine Datenbank-Tabelle-Spalte, um die Dropdown-Liste, die beim laden der Seite wählen Sie ein Element basierend auf dem Wert aus der Datenbank, die eines der aufgeführten Elemente. Bitte helfen Sie mir.

txt_examtype.DataSource = dt;//txt_examtype is the dropdownlist
                txt_examtype.DataTextField = "ExamTypeName";
                txt_examtype.DataValueField = "ExamTypeName";
                txt_examtype.DataBind();


String examtype = dt.Rows[0]["ExamType"].ToString().Trim();
                ListItem myitem = txt_examtype.Items.FindByValue(examtype);
                txt_examtype.SelectedValue = myitem.Value;
  • Auf welcher Zeile bekommst du die Ausnahme?
  • Auf die Letzte Zeile
  • Ich gehe davon aus myitem null ist, so gibt es kein Listenelement mit dem Wert examtype. Vielleicht haben Sie zu verwenden Items.FindByText(examtype);. Verwenden Sie den debugger, welche Elemente, die nicht in der dropdown enthalten? Vielleicht müssen Sie eine andere Spalte für DataTextField - und/oder DataValueField. Es ist die gleiche Spalte.
  • Nun, in diesem Fall der Wert der examtype war, "MCQ", so myitem es hätte nicht null sein, richtig? und ich hatte keine Idee, warum beide DataTextField und DataValueField, wollte Nur bind die Werte der Spalte "ExamTypeName" dieser dropdownlist, bitte korrigieren Sie mich!
  • Wenn der Artikel nicht da ist, ist das Auffinden von text oder Wert der gleiche wäre. Ich würde vorschlagen, zu verwenden if(myitem != null) txt_examtype.SelectedValue = myitem.Value;
Schreibe einen Kommentar