Вернуть Json из SelectList в asp.net mvc?
Я был бы признателен, если бы кто-то мог посоветовать следующее:
У меня есть мой SelectList в контроллере:
SelectList sl = new SelectList(_unitOfWork.TraumaRepo.GetByType(type).ToList(), "Code", "Name");
Обычно мой Json возвращает простые строки:
return Json(new[]{
new { value = "1", text = "item 1" },
new { value = "2", text = "item 2" }},
JsonRequestBehavior.AllowGet);
Как можно перебрать этот список SelectList, чтобы вернуть его значение данных и текстовые поля данных как JsonResult? Как включить foreach или linq в Json()?
В моем представлении я добавляю его в свой DropDownList:
$.each(data, function (value, i) {
ddl.append(
$('<option/>', {
value: i.value,
html: i.text
}));
});
2 ответа
Просто получите JSON для сериализации объекта списка напрямую
return Json(_unitOfWork.TraumaRepo.GetByType(type).ToList(),
JsonRequestBehavior.AllowGet);
Замените ActionResult на JsonResult, кроме того, следующая ссылка может помочь вам
http://www.prideparrot.com/blog/archive/2012/3/returning_data_view_from_controller_action
Еще один простой пример JSON
http://www.akhildeshpande.com/2011/08/simple-jquery-getjson-example-in-aspnet.html