Привязка JSON к IEnumerable с использованием MVC 3 - PullRequest
1 голос
/ 12 марта 2012

Я использую MVC 3 и у меня есть следующий контроллер:

[HttpPost]
public ActionResult Suggest(IEnumerable<Connection> connect)
{
    return Json(new { result = true });
}

public class Connection
{
    public long Id { get; set; }
    public string Name { get; set; }
}

Мой JQuery выглядит так:

var connections = $('.on');
var connect = [];

$.each(connections, function (i, item) {
     var span = $(item);

     var id = span.attr('data-entity-id');
     var name = span.attr('data-entity-name');


     connect.push({ Id: id, Name: name });
 });

 $.post('myurl', connect, function (data) {
     $('.result').html(data);
 });

Привязка JSON не работает с использованием этого кода.

1 Ответ

2 голосов
/ 12 марта 2012

Вы не публикуете JSON.Вам необходимо упорядочить данные и затем сообщить серверу, что вы отправляете данные JSON.Чтобы структурировать JSON, вам нужно включить библиотеку Crockford JSON2 .(Это парень, который изобрел JSON.)

$.ajax({
    url: "myurl",
    type: "POST",
    data: JSON.stringify({ connect: connect }),
    contentType: 'application/json'
    success: function (data) {
        $('.result').html(data);
    }
});

Кроме того, я думаю, вам, возможно, понадобится задать параметр действия List<Connection> connect.

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