Конвертировать модель в массив MVC 3 - PullRequest
0 голосов
/ 22 февраля 2012

Я получил модель, которую я хочу, нажав кнопку, чтобы запустить функцию javascript, которая преобразует эту модель в массив и отправляет ее в контроллер, который будет считывать и анализировать данные как json или просто как модель.

пример:

[View]:

@model MyApp.MyModel

<input type="button" value="Send" onclick="SendData()" />

function SendData()
{
   var data = "@Model" // this is where im stuck maybe $.makeArray("@Model") ?
   $.ajax({
            url: 'getData',
            type: 'POST',
            data: $.toJSON(data),
            datatype: "json",
            contentType: "application/json; charset=utf-8",
            success: function (result) {
                alert(result);
            }
        });
}

Ответы [ 2 ]

3 голосов
/ 22 февраля 2012

Json.Encode Method может помочь вам

Преобразует объект данных в строку в формате нотации объектов JavaScript (JSON).

И твой код

var data = @Json.Encode(Model);
1 голос
/ 02 января 2014

Просто хотел добавить к ответу @ archil.

Может быть лучше использовать @Html.Raw (Json.Encode (Model)) , в зависимости от ваших требований, вместо Json.Encode (Model) , потому что Объект json будет правильно закодирован.

Пример данных Json с использованием @Html.Raw (Json.Encode (Model))

[{"id":1,"name":"Joe"}]

Пример данных Json с использованием Json.Encode (Model)

[{&quot;id&quot;:1,&quot;name&quot;:&quot;Joe&quot;}]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...