2017-10-05 3 views
-2

Comment puis-je utiliser les deux tableaux que j'ai comme paramètre pour une méthode dans le contrôleur? Je pensais utiliser AJAX ferait, mais je ne sais pas comment vais-je passer les deux tableaux.Comment utiliser plusieurs tableaux comme paramètres pour une méthode httppost ins asp.net mvc

var arrayIngredientId = new Array(); 
var arrayQuantity = new Array(); 

//Some code here to get the values of the arrays. 
//I did a loop that inserts the data to the arrays through a variable ctr that increments 

$.ajax({ 
    type: "post", 
    url: "/Recipes/Create", 
    contentType: "html", 
    dataType: 'json', 
    data :{ 
     //I don't know what should I put here 
    }, 
    traditional: true, 
    success: function (result) { 
     alert.log(data.result) 
    }, 
    error: function(data){ 
     alert("fail"); 
    } 
}) 

//The method I have for controller. I don't know what parameters should I put 
[HttpPost] 
public JsonResult Create() 
{ 
    return Json(new { result = "success" }, JsonRequestBehavior.AllowGet); 
} 
+0

Quelle est la signature de votre méthode du contrôleur, et quel est le modèle? Et comment peuples-tu ces tableaux? –

+0

Et si vous avez généré des contrôles de formulaire correctement alors c'est simplement 'data: $ ('form'.serialize())' - et supprimez l'option 'contentType' (ce qui n'a aucun sens étant'' html'' de toute façon) –

+0

I édité le contenu de la publication. – AyakoS

Répondre

0
var arrayIngredientId = new Array(); 
var arrayQuantity = new Array(); 

$.ajax({ 
        type: "POST", 
        data: { objName: JSON.stringify({ arrayQuantity : arrayQuantity ,arrayIngredientId : arrayIngredientId }) }, 
        url: '@Url.Action("Create", "Recipes")', 
        dataType: "json", 
        success: function (msg) { 
         alert(msg); 
        }, 
        error: function (e) { 
        } 
       }); 

//Controller side 
[HttpPost] 
    public ActionResult Create(string objName) 
    { 
     dynamic d = JObject.Parse(objName); 
     int totalarrayIngredientId= d.arrayIngredientId.Count; 
     var vertex = ""; 
     for (int i = 0; i < totalarrayIngredientId; i++) 
     { 
      //get like d.arrayIngredientId[i].YourKeyName 
     } 

     return Json(""); 
    }