Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从Ajax传递到ASP.NET核心控制器时,参数设置为null_C#_Jquery_Ajax_Asp.net Core Mvc - Fatal编程技术网

C# 从Ajax传递到ASP.NET核心控制器时,参数设置为null

C# 从Ajax传递到ASP.NET核心控制器时,参数设置为null,c#,jquery,ajax,asp.net-core-mvc,C#,Jquery,Ajax,Asp.net Core Mvc,我在使用Ajax将数据发布到ASP.NET核心控制器时遇到问题 我有一个具有这种结构的实体: public class ProprieteBienFinance { public int ProprieteBienFinanceId { get; set; } public string Libelle { get; set; } public int Rang { get; set; } public virtual ICollection<ChoixPr

我在使用Ajax将数据发布到ASP.NET核心控制器时遇到问题

我有一个具有这种结构的实体:

public class ProprieteBienFinance
{
    public int ProprieteBienFinanceId { get; set; }
    public string Libelle { get; set; }
    public int Rang { get; set; }
    public virtual ICollection<ChoixPropriete> Modalites { get; set; }
    public TypePropriete TypePropriete { get; set; }

    public ICollection<MetaBlocageAffichagePropriete> BlocageAffichagePropriete { get; set; }
    public string? Dependance { get; set; }

    public ProprieteBienFinance()
    {
        this.Modalites = new List<ChoixPropriete>();
        this.BlocageAffichagePropriete = new List<MetaBlocageAffichagePropriete>();
    }
}
点击更新链接应该调用控制器上的一个方法,并将表单带到更新中

<a title="Mettre à jour le type de financement" class="btn btn-primary btn-link btn-sm Edit" onclick="LoadUpdateForm(@counter)">
    <i class="material-icons">edit</i>
</a>

function LoadUpdateForm(rowNumber) {
    //les proprietes de base sont le libelle et le type 
    var idLibelleChamps = "#libelle_prop_" + rowNumber;
    var libelle = $(idLibelleChamps).html();

    var caracteristique = {};
    caracteristique = proprietes.find(element => element.rang == rowNumber);

    var dataToSend = {};
    dataToSend.caracteristiqueToUpdate = caracteristique;
    dataToSend.caracteristiques = proprietes;


    debugger;
    $.ajax
        (
            {
                url: window.location.origin + "/ParametrageBiensFinanciers/AfficherFormulaireModifCaracteristique",

                type: "post",

                dataType: "json",

                beforeSend: function (x) {
                    if (x && x.overrideMimeType) {
                        x.overrideMimeType("application/json;charset=UTF-8");
                    };
                    x.setRequestHeader('RequestVerificationToken', document.getElementById('RequestVerificationToken').value);
                },

                data: dataToSend,

                complete: function (result) {

                    $("#AjouterCaracteristiques").html(result.responseText);
                    $(".selectpicker").selectpicker();
                    $("TypePropriete").change(function () {
                        targetType($(this));
                    });
                    var extendedProperty = $("#selectExtendId option:selected");
                    if ((typeof ($(extendedProperty)) != "undefined") && $(extendedProperty).text() != "Choisir la caractéristique dépendante") {
                        var dataToSend = {};

                        dataToSend.libelle = $(extendedProperty).text();
                        dataToSend.caracteristiques = proprietes;
                        dataToSend.caracteristiqueToUpdate = caracteristique;
                        $.ajax
                            (
                                {
                                    url: window.location.origin + "/ParametrageBiensFinanciers/EtendreUneCaracteristique",

                                    type: "post",

                                    dataType: "json",

                                    beforeSend: function (x) {
                                        if (x && x.overrideMimeType) {
                                            x.overrideMimeType("application/json;charset=UTF-8");
                                        };
                                        x.setRequestHeader('RequestVerificationToken', document.getElementById('RequestVerificationToken').value);
                                    },

                                    data: dataToSend,

                                    complete: function (result) {

                                        $("#checkExtendDiv").html(result.responseText);
                                        $(".selectpicker").selectpicker();
                                    }
                                }
                            );
                    }
                    $("#addPropertiesPane").show();
                }
            }
        );
}

这里是在Ajax调用之前正确设置参数的证明。然后不知何故,一切都是空的


put index value to list items:实际上,就在ajax调用之前,当我调试时,所有参数都设置正确,这意味着所有列表都设置为要传递的对象。我进行了ajax调试,我注意到一些参数说cancelled=trued,那么将
[FromBody]
属性添加到动作参数如何?将索引值放入列表项:实际上,就在ajax调用之前,当我调试时,所有参数都正确设置,这意味着所有列表都设置为要传递的对象。在进行ajax调试时,我注意到一些参数说cancelled=trued,那么将
[FromBody]
属性添加到动作参数中呢?
<a title="Mettre à jour le type de financement" class="btn btn-primary btn-link btn-sm Edit" onclick="LoadUpdateForm(@counter)">
    <i class="material-icons">edit</i>
</a>

function LoadUpdateForm(rowNumber) {
    //les proprietes de base sont le libelle et le type 
    var idLibelleChamps = "#libelle_prop_" + rowNumber;
    var libelle = $(idLibelleChamps).html();

    var caracteristique = {};
    caracteristique = proprietes.find(element => element.rang == rowNumber);

    var dataToSend = {};
    dataToSend.caracteristiqueToUpdate = caracteristique;
    dataToSend.caracteristiques = proprietes;


    debugger;
    $.ajax
        (
            {
                url: window.location.origin + "/ParametrageBiensFinanciers/AfficherFormulaireModifCaracteristique",

                type: "post",

                dataType: "json",

                beforeSend: function (x) {
                    if (x && x.overrideMimeType) {
                        x.overrideMimeType("application/json;charset=UTF-8");
                    };
                    x.setRequestHeader('RequestVerificationToken', document.getElementById('RequestVerificationToken').value);
                },

                data: dataToSend,

                complete: function (result) {

                    $("#AjouterCaracteristiques").html(result.responseText);
                    $(".selectpicker").selectpicker();
                    $("TypePropriete").change(function () {
                        targetType($(this));
                    });
                    var extendedProperty = $("#selectExtendId option:selected");
                    if ((typeof ($(extendedProperty)) != "undefined") && $(extendedProperty).text() != "Choisir la caractéristique dépendante") {
                        var dataToSend = {};

                        dataToSend.libelle = $(extendedProperty).text();
                        dataToSend.caracteristiques = proprietes;
                        dataToSend.caracteristiqueToUpdate = caracteristique;
                        $.ajax
                            (
                                {
                                    url: window.location.origin + "/ParametrageBiensFinanciers/EtendreUneCaracteristique",

                                    type: "post",

                                    dataType: "json",

                                    beforeSend: function (x) {
                                        if (x && x.overrideMimeType) {
                                            x.overrideMimeType("application/json;charset=UTF-8");
                                        };
                                        x.setRequestHeader('RequestVerificationToken', document.getElementById('RequestVerificationToken').value);
                                    },

                                    data: dataToSend,

                                    complete: function (result) {

                                        $("#checkExtendDiv").html(result.responseText);
                                        $(".selectpicker").selectpicker();
                                    }
                                }
                            );
                    }
                    $("#addPropertiesPane").show();
                }
            }
        );
}