Я использую JQuery, чтобы заполнить выпадающий список в ASP.NET MVCзначение DropDownList и текст
$(function() {
$.getJSON('/GetFoo', function (result) {
var ddl = $('#foo');
ddl.empty();
$(result).each(function() {
$(document.createElement('option'))
.attr('value', this.Id)
.text(this.Text)
.appendTo(ddl);
});
});
});
Вот действие контроллера, которые возвращают JSON используется в этом процессе:
public ActionResult GetFoo()
{
ViewBag.IdTable = new SelectList(db.Table, "IdTable", "Description");
return Json(ViewBag.IdTable, JsonRequestBehavior.AllowGet);
}
И вот как мой выпадающий список входит в мой взгляд:
@Html.DropDownListFor(model => model.IdTable,Enumerable.Empty<SelectListItem>(), "-- Loading Values --", new { id = "foo" })
для уточнения более, что я делаю, я хочу, чтобы показать D escription в опциях списка выбора вместо IdTable.
Все работает нормально, пока я не подтвержу выбор выпадающего списка. На самом деле, это дает следующее сообщение об ошибке:
The value [Choice] is not valid for IdTable.
Так что я предполагаю, что значения выбранных опций списка устанавливается в поле Описания, а не поле Id.
Как это исправить?
Это решается мой вопрос. Спасибо огромное! – Ayoub