Могу ли я присоединить массив объектов к объекту Json и передать его в метод контроллера? - PullRequest
1 голос
/ 17 декабря 2010

По сути, здесь я передаю пару строковых значений, прикрепленных к объекту Json, в метод контроллера MVC, и этот метод принимает эти параметры вместе со своими входными параметрами и что-то с ними делает. Только имена параметров должны совпадать, и я могу использовать их тогда, как прямая маршрутизация MVC ...

Я хочу использовать этот же метод для создания сетки в памяти с помощью MSChart. Однако я хочу передать массивы значений в контроллер через Json, чтобы я мог создать сетку из этих значений.

Могу ли я это сделать? и как?

Вот код, который у меня уже есть по предыдущей причине:

function showAnalysisView(analysisType)
        {
            var typeJSON = {};
            typeJSON["id"] = GetGUIDValue();
            typeJSON["value"] = analysisType;

            $.ajax({
                type: "POST",
                url: "<%= Url.Action("AnalysisNavigation", "Indications") %> ",
                dataType: "jsonData",
                data: typeJSON,
                success: function(data) {
                    if (analysisType == 'Prepayment') {
                        document.getElementById('prepaymentView').innerHTML = "";
                        $("#prepaymentView").append(data);
                    }
                    else if (analysisType == 'Exposure') {
                        document.getElementById('exposureView').innerHTML = "";
                        $("#exposureView").append(data);
                    }
                }
            });
        }

Могу ли я иметь вместо:

typeJSON["value"] = analysisType;

Что-то вроде:

typeJSON["xArray"] = {0,1,2,3,4,5};

и затем прочитайте его с моим контроллером, как:

public System.Web.Mvc.ActionResult MakeGrid(int[] values)
{

}

Спасибо!

Ответы [ 2 ]

4 голосов
/ 10 января 2011

Я думаю, что вы хотите:

typeJSON = {
   key: 'existing value',
   key2: 'existing value2',
   newChartData: [1,4,5,3,4,3,5,4]
}

Ваши существующие значения все еще находятся в объекте, и вы добавляете третье значение для нового массива.JSON отлично сериализует массивы

0 голосов
/ 06 января 2011

Вы не можете сделать

typeJSON["xArray"] = {0,1,2,3,4,5};

Но вы можете сделать

typeJSON["xArray"] = {0:0, 1:1, 10:2, 'key':'value', 'someKey':3, 7:'someValue'};

В основном вам нужно вводить key:value пар, а не просто value, тогда нужно просто прочитать значения, которые вы получите в своем приложении.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...