2016-08-12 11 views
0

Ich habe einen Blick, wo ich DropDownListFor verwenden:Dropdownlist ausgewählt wird nicht

@Html.DropDownListFor(m => m.Nationality, NationalityDD, new { style = "width:185px;" }) 

SelectListItem Liste wird reneged folgt:

List<SelectListItem> NationalityDD = new List<SelectListItem>(); 
var n0 = new SelectListItem { Value = "", Text = "" }; 
var n1 = new SelectListItem { Value = "p", Text = @Resources.Localization.nationality_LR_citizen }; 
var n2 = new SelectListItem { Value = "np", Text = @Resources.Localization.nationality_LR_resident }; 
var n3 = new SelectListItem { Value = "es", Text = @Resources.Localization.nationality_ES_citizen }; 
var n4 = new SelectListItem { Value = "ne", Text = @Resources.Localization.nationality_other }; 

NationalityDD.Add(n0); NationalityDD.Add(n1); NationalityDD.Add(n2); NationalityDD.Add(n3); NationalityDD.Add(n4); 

Also, das Problem ist, dass, wenn ich gesetzt np/es/ne Werte in die Datenbank, nach dem Aktualisieren der Seite ist alles in Ordnung und ausgewählte Werte werden weiterhin angezeigt, aber wenn ich nach dem Aktualisieren der Seite eingestellt habe, gibt es keinen ausgewählten Wert "".

Dieser html von DDL erzeugt wird, wenn ich p (nach refresh) wählen:

<select id="Nationality" name="Nationality" style="width:185px;"> 
<option value=""></option> 
<option value="p">LR pilsonis</option> 
<option value="np">LR Pastāvīgais iedzīvotājs</option> 
<option value="es">ES pilsonis</option> 
<option value="ne">ne-ES pilsonis</option> 
</select> 

und wenn ich etwas außer p (nach refresh) wählen:

<select id="Nationality" name="Nationality" style="width:185px;"><option value=""></option> 
<option value="p">LR pilsonis</option> 
<option value="np">LR Pastāvīgais iedzīvotājs</option> 
<option selected="selected" value="es">ES pilsonis</option> 
<option value="ne">ne-ES pilsonis</option> 
</select> 

konnte Was ist der Grund sein, von solch einem seltsamen Verhalten von DDL?

+0

Wo ist Ihr Code, der die ausgewählte Option (beim Aktualisieren/Laden der Seite) setzt? – Shyju

+0

Nicht Dropdown-Liste tun es allein? – GeekyNuns

+0

Nein, Sie müssen Code schreiben, um es zu setzen? Verwenden Sie 'Html.DropDownListFor' Hilfsmethode – Shyju

Antwort

0

Fehler waren zu dumm .. In Datenbank mir die Nationalität Feld bin mit nicht nvarchar erstellt (2), aber einfach char (2), so im Fall von nationality_LR_citizen = p es wurde Platz gelassen, so dass die p == p war false und DDLF haben diesen Wert nicht ausgewählt.

Verwandte Themen