我有一個視圖模型爲我的應用程序是這樣的:ASP.NET MVC - 清爽DropDownLists到視圖模型沒有寫DOM代碼
public class ItemViewModel {
public string Name { get; set; }
public string SelectedType { get; set; }
public IEnumerable<Type> Types { get; set; }
public string SelectedSubtype { get; set; }
public IEnumerable<Subtype> Subtypes { get; set; }
}
我創建了一個視圖,以公開這些屬性:
@Html.TextBoxFor(m => m.Name)
@Html.DropDownListFor(m => m.SelectedType,
new SelectList(Model.Types, "ID", "Description"),
"Select a type")
@Html.DropDownListFor(m => m.SelectedSubtype,
new SelectList(Model.Subtypes, "ID", "Description"),
"Select a subtype")
那麼,當我想刷新我的子類型dropdownlist,我必須編寫大量的DOM代碼來生成新的選項。
$('#SelectedType').change(function() {
$.get('/json/GetSubtypesFromType', { 'type': $(this).val() }, function(result) {
var options = '';
for (var count = 0; count < result.length; count++) {
options += "<option value='" + result[count].ID + "'>" + result[count].Description + "</option>";
}
$('#SelectedSubtype').html(options);
});
});
是否有新的選項,以亞型枚舉綁定到我的ViewModel
而不是寫這個代碼生成選項的方式。我需要在發佈表單時檢索新的枚舉,但我想將新值綁定到ViewModel
集合中。
謝謝,Dave A.這兩個建議都很好,我會嘗試首先實現第二個。如果我不能,第一個解決方案也能幫助我。謝謝!!! – Kiwanax