2016-05-13 27 views
7

sto creando un progetto .net MVC in cui ho la richiesta jquery ajax è la seguentemodalità di restituzione della più elenchi di azione del controller di ajax successo call back funzione

$.ajax({ 
     url: "@Url.Action("getdata", "SeatPlans")", 
     data: { seat_plane_id : 17}, 
    type: "POST", 
    dataType: "json", 
    success: function (data) { 
     loadData(data); 
    }, 
    error: function() { 
     alert("Failed! Please try again."); 
    } 
}); 

che chiamano la seguente azione del controller

il codice funziona correttamente. l'azione del controller invia i dati in allUser alla funzione di callback.

ma che cosa ho bisogno è che io voglio inviare sia i dati in Alluser e allUser1 alla funzione successo di ajax chiamata

+0

mostrare il codice di controllo –

+1

uno minuti c'è qualche problema durante la modifica – rakshi

+0

Qual è la 'Pre' tag con il tuo JS? – evolutionxbox

risposta

1

vorrei creare una classe che ha 2 proprietà

int lid = seat_plane_id; 
List<List<SeatPlans>> listOfSeatPlans (a collection of collections) 

List<List<SeatPlans>> list = new ... 
list.Add(allUser); 
list.Add(someUsers); 

Ora è possibile restituire l'oggetto di classe torna a JSON

5

immagino che si desidera conservare le liste separate. Avvolgili in un oggetto

var data = new { allUser = allUser , allUser1 = allUser1 }; 
return Json(yourObject, JsonRequestBehavior.AllowGet); 

È possibile accedere nei tuoi JS come questo:

success: function (data) { 
    var allUser = data[0]; 
    var allUser1 = data[1]; 
    //use the data as you see fit. 
    loadData(allUser); 
    loadData(allUser1); 
}, 
+1

anche tu puoi scrivere la funzione successo as- successo: function (data) {loadData (data.allUser); loadData (data.allUser1);} –

3

Non vi resta che modificare la clausola Where in modo da non avete bisogno di due liste diverse per gli utenti. Prova questo nel metodo getdata:

public JsonResult getdata(int seat_plane_id) 
{ 
    int lid = seat_plane_id; 
    List<SeatPlans> allUser = new List<SeatPlans>(); 
    allUser = db.SEATPLAN.Where(d => d.layout_id == lid || d.layout_id == (lid+1)).ToList(); 

    return new JsonResult { Data = allUser,JsonRequestBehavior = JsonRequestBehavior.AllowGet }; 
} 

allUser include ora tutti i dati desiderati.

+0

ma ho bisogno di ogni elenco come separato grazie signore – rakshi