get JSon.Stringify-Wert im controller übergeben durch Ajax

Habe ich die javascript-Funktion als:

 function savePreObservationQuestionAnswers()
    {
    var lvPreObservationQuestionAnswers = $("#lvPreObservationQuestionAnswers").data("kendoListView");
            var data = lvPreObservationQuestionAnswers.dataSource.data();
var preObservationAnswers = new Array();
        var totalNumber = data.length;
       var ArtifactsModel = [];
    for (var i = 0; i < totalNumber; i++) {
                var currentDataItem = data[i];
                var myjson = [];
                var preObservationAnswers = {};
                preObservationAnswers["EH_PP_OBSRVNFRM_QSTN_ID"] = currentDataItem.EH_PP_OBSRVNFRM_QSTN_ID;
                preObservationAnswers["EH_PP_OBSRVNFRM_QSTN_ANSWR_TXT"] = currentDataItem.EH_PP_OBSRVNFRM_QSTN_ANSWR_TXT;

                myjson.push(preObservationAnswers);

                ArtifactsModel.push(myjson);

                //preObservationAnswers.push(currentDataItem.EH_PP_OBSRVNFRM_QSTN_ID, $('#txtanswer_' + currentDataItem.EH_PP_OBSRVNFRM_QSTN_ID).val());

                //lstArtifactsModel.push(ArtifactsModel);
            }
            alert(ArtifactsModel);
            $.ajax({

                type: "post",
                url: "/PP/savePreObservationAnswers",
                data: {
                    objAllData: JSON.stringify(ArtifactsModel)
                },
                cache: false,
                success: function (data) {

                }
            });
    }

Im controller habe ich einen code wie:

public JsonResult savePreObservationAnswers(IEnumerable<ArtifactsModel> objAllData)
{
 return Json("");
}

Aber ich bin nicht immer Werte auf objAllData controller.

Ich bin sicher, in der javascript-Funktion, erhalte ich die richtigen Werte.

Wie kann ich dies tun?

Edit:

In ArtifactModel-Datei habe ich Eigenschaften wie:

public int EH_PP_OBSRVNFRM_QSTN_ANSWR_ID { get; set; }
        public string EH_PP_OBSRVNFRM_QSTN_ANSWR_TXT { get; set; }
        public int EH_PP_ObservationID { get; set; }

        public int EH_PP_OBSRVFRM_QSTIN_SectionID { get; set; }

        public int EH_PP_OBSRVNFRM_QSTN_ID { get; set; }
        public string EH_PP_OBSRVFRM_QSTIN_SectionTitle { get; set; }
        public string EH_PP_OBSRVNFRM_QSTN_TXT { get; set; }

        public int EH_PP_OBSRVNFRM_QSTN_DSPSEQ { get; set; }
Sie müssen nicht Stringify Ihre JSON-Objekt als Ihr controller ist möglicherweise schon espect JSON-Inhalt. JSON.stringify wird verwendet, um zu drucken JSON-Objekt in der javascript-Konsole. Nur einen Versuch geben, ohne diese Funktion $.ajax({..., data : ArtifactsModel, ...

InformationsquelleAutor C Sharper | 2014-07-15

Schreibe einen Kommentar