2010-03-17 6 views
0

Я использую asp.net mvc2 и пытаюсь отправить список объектов json с жестко закодированными значениями из домашнего контроллера и получить их в индексе .... в приведенном ниже коде я отправляю 1 объект json. ... как я могу отправить многих?Как составить список объектов json?

в домашнем контроллере:

public ActionResult JsonValue() 
     { 
      var result = new 
      { 
       pID = 1, 
       pName = "Lina", 
       pStart = "", 
       pEnd = "", 
       pColor = "ff0000", 
       pLink = "", 
       pMile = 0, 
       pRes = "Brian", 
       pComp = 0, 
       pGroup = 1, 
       pParent = 0, 
       pOpen = 1 
      }; 


      return Json(result,JsonRequestBehavior.AllowGet); 
     } 

и получать его в индексе, как это:

 var Jid = null; 
     var Jname = null; 
     var Jstart = null; 
     var Jend = null; 
     var Jcolor = null; 
     var Jlink = null; 
     var Jmile = null; 
     var Jres = null; 
     var Jcomp = null; 
     var Jgroup = null; 
     var Jparent = null; 
     var Jopen = null; 
     var Jtitle = null; 
     var g = new JSGantt.GanttChart('g', document.getElementById('GanttChartDIV'), 'day'); 
     $(document).ready(function() { 

      $.getJSON('../../Home/JsonValue', function (data) { 
       Jid = data.pID; 
       Jname = data.pName; 
       Jstart = data.pStart; 
       Jend = data.pEnd; 
       Jcolor = data.pColor; 
       Jlink = data.pLink; 
       Jmile = data.pMile; 
       Jres = data.pRes; 
       Jcomp = data.pComp; 
       Jgroup = data.pGroup; 
       Jparent = data.pParent; 
       Jopen = data.pOpen; 
       Jtitle = '|id= ' + Jid + '|Name: ' + Jname + '|Start: ' + Jstart + '|End: ' + Jend; 

      }); // end $.getJSON 

благодарит миллион заранее ... Lina

ответ

1

добавить их в массив и верните это (через вызов JSON, конечно).

Я бы сделал класс, а не анонимный объект, который у вас есть, а затем добавьте в общий список, как только у вас будет заполненный список, вы можете передать список. ToArray() в вызов Json. Я havent пытался, но вы можете передать список прямо в Json (я не уверен, создаст ли он массив Json из общего списка).

редактировать

Похоже Json превратит любой перечислимы в массив Json, так что я бы сказал, вы можете передать список общий список, я добавить код, добавленный ниже позже

код.

Я не думаю, что вы должны написать код List<object> лично, как объяснялось, я бы создал класс для анонимного объекта, чтобы вы могли его сильно набрать. надеюсь, это даст вам идею, хотя

public ActionResult JsonValue() 
     { 
      List<object> jsonlist = new List<object>(); 
      jsonlist.Add(new 
      { 
       pID = 1, 
       pName = "Lina", 
       pStart = "", 
       pEnd = "", 
       pColor = "ff0000", 
       pLink = "", 
       pMile = 0, 
       pRes = "Brian", 
       pComp = 0, 
       pGroup = 1, 
       pParent = 0, 
       pOpen = 1 
      }); 

      jsonlist.Add(new 
      { 
       pID = 1, 
       pName = "Lina", 
       pStart = "", 
       pEnd = "", 
       pColor = "ff0000", 
       pLink = "", 
       pMile = 0, 
       pRes = "Brian", 
       pComp = 0, 
       pGroup = 1, 
       pParent = 0, 
       pOpen = 1 
      }); 

      return Json(jsonlist,JsonRequestBehavior.AllowGet); 
     } 
Смежные вопросы