2016-05-20 3 views
-1

Я разрабатываю проект в C# MVC.net.как отправить список различных классов в массив словаря в C#

У меня есть два списка в контроллере

List<layouts> L1 = (List<layouts>)result.Data; 
List<SeatPlans>[] allUser = new List<SeatPlans>[10]; 

и я посылаю список allUser Аяксу следующим

var v = new Dictionary<String, List<SeatPlans>>(); 

int i; 
for (i=0; i < L1.Count; i++) 
{ 
    int k = i - 1; 
    v.Add($"all{i}", allUser[i]); 
    // id++; 
} 

return Json(v, JsonRequestBehavior.AllowGet); 

и это много работает нормально. То, что мне нужно, должно отправить List L1 также allUser. Как я могу это сделать? allUser является списки класса SeatPlans и L1 список класса макетов

+2

Почему вы используете 'Dictionary' - просто отправить данные с помощью' возврата Json (новый {L1 = L1, allUser = allUser}, JsonRequestBehavior.AllowGet) ', а затем у вас есть обе коллекции –

ответ

1

ли это так.

Пошли JsonResult назад и создать экземпляр в контроллере:

public JsonResult Action() { 
    var json = new JsonResult(); 

    json.Body = new { 
     List1 = L1, Dictionary = v 
    }; 

    return json; 
} 
2

создать класс с двумя свойствами, по одному для каждого списка

public class MyData 
{ 
    public List<layouts> Layouts{get; set;} 
    public List<SeatPlans> SeatPlans{get; set;} 
} 

и возвращает экземпляр, что:

return new MyData 
{ 
    Layouts = L1, 
    SeatPlans = allUser 
}; 

Фактически, вы действительно можете избежать написания определения для класса и вернуть анонимный тип:

return new 
{ 
    Layouts = L1, 
    SeatPlans = allUser 
}; 
+0

Как я могу обработать возвращенные данные в функции успеха ajax – rakshi

+2

@rakshi, предполагая, что у вас есть «успех: функция (данные)» {'then его просто' $ .each (data.Layouts, function (index, item) {'to loop хотя первая коллекция (то же самое для '$ .each (data.SeatPlans, function (index, item) {') –

Смежные вопросы