2017-03-07 2 views
-3

Comment envoyer des «choses» avec la liste des données de bacs à la méthode de contrôleur? Je reçois toutes les données sauf les données de bacs? Bins est en tant que null avec count comme 0.liste de passage dans une autre liste de jquery à contrôleur dans mvc

même j'ai essayé de stringifier les deux bins et les valeurs de données mais ne fonctionnait pas.

$(document).ready(function() { 

    var bins=[{'binName':testbiname,'isSelected':true}] 
     var things = [ 
      { id: 1, color: 'yellow',Bins:bins }, 
     ]; 



    things = JSON.stringify({ 'things': things }); 

    $.ajax({ 
     contentType: 'application/json; charset=utf-8', 
     dataType: 'json', 
     type: 'POST', 
     url: '/Home/PassThings', 
     data: things, 
     success: function() {   
      $('#result').html('"PassThings()" successfully called.'); 
     }, 
     failure: function (response) {   
      $('#result').html(response); 
     } 
    }); 
    }); 


    public void PassThings(List<Thing> things) 
    { 
     var t = things; 
    } 

    public class Thing 
    { 
     public int Id { get; set; } 
     public string Color { get; set; } 
    *public list<BinSelecter> Bins{get;set;}* 
    } 

public class BinSelecter 
{ 
public string binName {get;set;} 
public bool isSelected {get;set;} 
} 
+1

javascript Les choses ne contiennent pas d'objets Bins – Rick

+0

pouvez-vous montrer le modèle de BinSelecter? – Usman

Répondre

0

nous supposons que vos BinSelecter a des propriétés suivantes

public class BinSelecter 
{ 
    public int Id { get; set; } 
    public string Color { get; set; } 
} 

donc vous pouvez l'ajouter à votre liste des choses comme

var Binsdata = [ 
    { id: 1, color: 'yellow' }, 
    { id: 2, color: 'blue' }, 
    { id: 3, color: 'red' } 
];  

var things = [ 
    { id: 1, color: 'yellow',Bins:Binsdata }, 
    { id: 2, color: 'blue',Bins:Binsdata}, 
    { id: 3, color: 'red',Bins:Binsdata } 
];