Вернуть 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

Другие вопросы по тегам