如何从视图到控制器

时间:2015-12-30 10:15:37

标签: c# asp.net ajax asp.net-mvc

我有一个ajax方法,我需要将这些数据发送到我的控制器。但是,我不知道如何将这些数据发送给我的控制器。

$.ajax({
            url: "/art/Ajouter",
            type: "POST",
            dataType: 'json',
            data : {
                       "Num": Numm,
                       "cl" : cl,
                       "global" : global
                    },
            success: function (responseText) {
                        debugger;
                        if (responseText == "True") {
                            alert("Succes");
                        }
                        else {
                            alert("error");
                        }
                    }
        });

以及我如何创建变量global

var global = [];
            function GetValues() {
                debugger;
                var myList = $("#multiSelect");
                var yy = $("#article").val();

                var Selectedelement = $("#quantiCommande").val();

                myList.append('<option value=' + Selectedelement + '>' + Selectedelement + " " + yy + '</option>');
                global.push({ "id": yy, "qte": Selectedelement });

            }

我添加了一个类:

public class products
    {
        public int Id { get; set; }
        public string qte { get; set; }
    }

这是我的控制器的代码

public Boolean Ajoutercommande(string Num, int cl, string global)
        {

            CRUDEntities db = new CRUDEntities();
            Commande c = new Commande();
            c.NumCommande = Num;

            JavaScriptSerializer js = new JavaScriptSerializer();
            products[] persons = js.Deserialize<products[]>(global);
            c.Quantité = cl;
            db.Commande.Add(c);
            db.SaveChanges();
            return true;
        }

这是javascript enter image description here

中表格全局的形式

1 个答案:

答案 0 :(得分:0)

删除数据类型:json

如果控制器没有返回json数据,它将导致调用失败

    $.ajax({
        url: "/art/Ajouter",
        type: "POST",
        data : {
                   "Num": Numm,
                   "cl" : cl,
                   "global" : global
                },
        success: function (responseText) {
                    debugger;
                    if (responseText == "True") {
                        alert("Succes");
                    }
                    else {
                        alert("error");
                    }
                }
    });

您的控制器需要接受传递的数据:

public Boolean Ajoutercommande(string Num, int cl, products[] global)