Json передал значение null в методе контроллера MVC - PullRequest
1 голос
/ 23 февраля 2012

Я делаю ниже, чтобы передать данные Json в действие контроллера My MVC

Сценарий

 var jInput = $("textarea");
 var count = 0;
 var jsonPackage = "{";

    $.each(jInput, function (i) {
        jInput[i].style.borderColor = "";
        if (jInput[i].value != "") {
            if (count != 0) {
                jsonPackage += ",";
            }
            count++;
            jsonPackage += "'" + jInput[i].id + "':'" + jInput[i].value.replace(/\\/g, "|").replace(/\'/g, "^") + "'";
        }
    });
    jsonPackage += "}";


    $.ajax({
        url: "Appraisal/LegalCheck",
        type: "POST",
        data: JSON.stringify(jsonPackage),
        dataType: "json",
        contentType: "application/json",
        success: function (retValue) {
            alert(retValue);
        }
    });

Метод контроллера

      public Dictionary<string, Illegal[]> LegalCheck(string jsonPackage)
  {

  }

Класс

 [Serializable]
   public class Illegal
   {
          public string Phrase { get; set; }
          public int StartIndex { get; set; }
   }

По какой-то причине jsonPackage всегда имеет значение null в методе контроллера.Примерные данные, которые передаются из скрипта:

jsonPackage - {'CommentTextarea_1181_1183':'ghhgghhhgd','CommentTextarea_1181_1184':'Coments','CommentTextarea_1181_1185':'comentss'}

Что я здесь не так делаю?Почему я получаю ноль в моем методе контроллера?Пожалуйста, предложите.

Спасибо

Ответы [ 2 ]

1 голос
/ 23 февраля 2012

попробуй

$.ajax({
        url: "Appraisal/LegalCheck",
        type: "POST",
        data: {jsonPackage:JSON.stringify(jsonPackage)},
        dataType: "json",            
        success: function (retValue) {
            alert(retValue);
        }
    });
0 голосов
/ 23 февраля 2012

Я думаю, что ваша строка JSON на самом деле не присваивается переменной jsonPackage, и поэтому ее не связывает связыватель модели.

для быстрого исправления попробуйте

$.ajax({ 
    url: "Appraisal/LegalCheck", 
    type: "POST", 
    data: "jsonPackage="+JSON.stringify(jsonPackage), 
    dataType: "json", 
    contentType: "application/json", 
    success: function (retValue) { 
        alert(retValue); 
    } 
}); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...