Wie man '' ddlAssignedTo '' repariert, hat einen SelectedValue, der ungültig ist, weil er in der Liste der Elemente nicht existiert

7

Ich lade die Gridview und die Gridview hat eine Edit und Delete Buttons.

Ich klicke auf Bearbeiten und ich bekomme " ddlAssignedTo' has a SelectedValue which is invalid because it does not exist in the list of items. Parameter name: value

Ich weiß, dass ich diesen Fehler bekomme, weil der Wert für ddlAssignedTo null ist - nichts existiert auf der db für ddlAssignedTo.

Ich habe nur versucht, den aktuellen Wert zu aktualisieren.

Also mein Problem ist, wenn der aktuelle Wert null ist, wie kann ich einen Standardwert für ddlAssignedTo zuweisen, so dass, wenn kein Wert für die db existiert, der Standardwert Vorrang hat?

Hier ist ein Code:

Auszeichnung:

%Vor%

CodeBehind:

%Vor%     
Kenny 12.05.2013, 00:05
quelle

4 Antworten

17

Sehen Sie sich die Lösung an, die von @ cosmin.onea in der Frage "DropDownList1" zur Verfügung gestellt wird, die einen SelectedValue hat Das ist ungültig, weil es in der Liste der Elemente nicht vorhanden ist

Diese Lösung legt AppendDataBoundItems="true" für die DropDownList fest und erstellt ein nullwertfähiges ListItem, sodass Ihre DropDownList auch dann bindet, wenn das Feld in der Tabelle null ist.

Auf das Problem des OPs angewendet, würde das folgende Snippet eine Option bereitstellen, die ausgewählt würde, wenn das Feld AssignedTo null ist.

%Vor%     
CameronM 12.06.2013, 10:29
quelle
1

Diese Lösung legt AppendDataBoundItems="true" für die DropDownList fest und erstellt ein nullwertfähiges ListItem, sodass Ihre DropDownList auch dann bindet, wenn das Feld in der Tabelle null ist.

Auf das Problem des OPs angewendet, würde das folgende Snippet eine Option bereitstellen, die ausgewählt würde, wenn das Feld AssignedTo null ist.

%Vor%

In dieser Lösung kann beim Speichern ein Problem auftreten, wenn der Benutzer kein gültiges Element auswählt. Sie können also auch

festlegen %Vor%

als Aktiviert = falsch Wenn Sie dann ein neues Element öffnen, wird ein Element in der Datenbank angezeigt.

Ich hatte das gleiche Problem und es löste sich für mich.

    
user3093469 28.07.2015 19:01
quelle
0

Ihr Problem im Befehl SQL Server, Sie müssen die ID-Übereinstimmung mit ID-Strom der Dropdown-Liste ausgewählt haben, wenn das Ereignis aktiv ist, dann hat das Problem gelöst.

  1. Erneut den Schlüssel zweier Tabellen enthalten, damit Sie abfragen können.

  2. Bin ("Name") muss mit Name in der Befehlsabfrage übereinstimmen.

sinhatpro 13.04.2014 02:27
quelle
0

Hi Ich untersuche das gleiche Problem. Mein Problem war die Indexnummer der Datenfelder. Ich habe die Indexnummer der Datenfelder wie diese Tabelle [3] verwendet, und nach dem Erstellen von gridview habe ich die Reihenfolge der Datenbanktabellen geändert.

Immerhin habe ich den Feldnamen anstelle der Feldindexnummer und das Problem gelöst.

    
Guray Tonguc 08.11.2013 17:35
quelle

Tags und Links