Отправка данных jqgrid на контроллер mvc3 - PullRequest
0 голосов
/ 22 июля 2011

Как разместить данные, введенные в плагине jqgrid, в контроллер MVC3?

Заранее спасибо

Какой-то код

Отправка данных на контроллер mvc3

        var lineas = $("#articulosIngresadosTable").getRowData();
        var model = {
            ObraSocialId: $("#idObraSocialTextBox").val(),
            Lineas: lineas
        };

        $.ajax({
            type: 'POST',
            url: '@Url.Action("Nueva", "Factura")',
            data: model,
            success: function (data) { alert(JSON.stringify(data)); },
            dataType: "json"
        });

Контроллер

    [AcceptVerbs(HttpVerbs.Post)]
    public ActionResult Nueva(FacturaNuevaModel model)
    {
        return Json(model);
    }

Модель

public class FacturaNuevaModel
{
    public string ObraSocialId { get; set; }
    public IList<Linea> Lineas { get; set; }

Что я не могу понять, так это то, что я посылаю тот же самый Json с Poster и работает, но не с помощью jquery с точки зрения

Используя сообщение из представления, ObraSocialId заполняется в контроллере, а коллекция Lineas содержит элементы, но каждое свойство в Linea имеет нулевое значение

1 Ответ

1 голос
/ 22 июля 2011

Проблема была в contentType ...

Вот рабочий код

var lineas = $("#articulosIngresadosTable").getRowData();
var model = {
    ObraSocialId: $("#idObraSocialTextBox").val(),
    Lineas: lineas
};

var modelString = JSON.stringify(model);

$.ajax({
    type: 'POST',
    url: '@Url.Action("Nueva", "Factura")',
    data: modelString,
    dataType: "json",
    contentType: "application/json; charset=utf-8",
    success: function (data) { alert(JSON.stringify(data)); }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...