我有一組下拉列表,它們被動態地通過循環列表中加入:動態下拉不具有值
for (int i = 0; i < Model.WindowGlassItems.Count; i++)
{
@Html.DropDownListFor(gu => gu.WindowGlassItems[i], Model.WindowGlassTypes, "-- Select --", new { @class = "form-control glass-multi-select", id = "Glass" + i })
}
WindowGlassItems是類型List<int?>
下拉的未示出,即使該列表中選擇的項目設置爲值
是什麼問題?
編輯,目前使用這個工具,它的作品,但林不開心,還是希望能有一個正確的MVC解決方案,如果可能的
@Html.Hidden("HiddenWindowGlassItems", string.Join(",", Model.WindowGlassItems.Select(s => s.ToString()).ToArray()))
JS:
var glassCSV = $("#HiddenWindowGlassItems").val();
if (glassCSV != null) {
var array = glassCSV.split(',');
for (var i = 0; i < array.length; i++) {
$("#Glass" + i + " option[value='" + array[i] + "']").attr("selected", "selected");
}
}
FYI
的選擇有這樣的名字: WindowGlassItems [0]
<select name="WindowGlassItems[0]" id="Glass0" data-val-number="The field Nullable`1 must be a number." data-val="true" class="form-control glass-multi-select"><option value="">-- Select --</option>
<option value="637">Tint</option>
etc...
<select name="WindowGlassItems[1]" id="Glass1" data-val-number="The field Nullable`1 must be a number." data-val="true" class="form-control glass-multi-select"><option value="">-- Select --</option>
<option value="637">Tint</option>
etc...
等等...
我想,這應該是這樣的 - ** @ Html.DropDownListFor(區=> gu.WindowGlassItems [I] ,新的SelectList(Model.WindowGlassTypes,「Id」,「YourGlassItemName」,YourSelectedVal),新的{@class =「form-control glass-multi-select」,id =「Glass」+ i})** –
告訴我們您將值分配給Model.WindowGlassTypes。 – Yorro
Model.WindowGlassTypes的類型爲List –
raklos