0

我正在尝试在 jquery 中向 MVC 控制器发帖。问题是我需要发布来自 2 个不同类的数据:

这是控制器,它应该接收一个类实体,然后是另一个类的实体列表

 public ActionResult Create(
            PAPER_OPERATION_PRODOTTI info,
            List<PRICING_PERIOD_EXT> pp_buy
            ){
...

这可能吗?

$.ajax({
        type: 'POST',
        url: getRootURL() + "/OperazioniPaperProdotti/Create",
        dataType: 'json',
        data: JSON.stringify(swap_all),
        contentType: "application/json; charset=utf-8",



        success: function (result) {
            alert('im back');
            alert(data);

        },
        error: function (xhr, ajaxOptions, error) {
            alert(xhr.status);
            alert('Error: ' + xhr.responseText);

        }
    });

目前我正在向控制器传递一个数组,我将在其中放置所有数据......它不起作用

  var swap_all = new Array();

   ......

  var pricing_list = new Array();


    for (var c = 0; c < num_righe_to_update; c++) {


        var pricing = new Array();

        var id_to_op = "#ID_PRICING_PERIOD_" + c;
        var data_s_to_op = "#DATA_START_" + c;
        var data_e_to_op = "#DATA_END_" + c;
        var div_flag_op = "#FLAG_OP_ON_SAVE_" + c;
        var div_flag_linea = "#ID_LINEA_" + c;

        pricing = { 'ID_PRICING_PERIOD': $(id_to_op).val(), 'DATA_START_PREZZATURA': $(data_s_to_op).val(), 'DATA_END_PREZZATURA': $(data_e_to_op).val(), 'FLAG_OP_ON_SAVE': $(div_flag_op).val(), 'ID_LINEA': $(div_flag_linea).val() };
        pricing_list.push(pricing);

    }

    ......

    var swap = new Array();
    swap = {
            'ID_OPERAZIONE': $("#ID_OPERAZIONE").val(),
            'NUMERO_CONTRATTO': $("#NUMERO_CONTRATTO").val(),
            'BOOKING_COMPANY_CODE': $("#BOOKING_COMPANY_CODE").val(),
            'ID_CONTROPARTE': $("#ID_CONTROPARTE").val(),
            'DATA_CONTRATTO': $("#DATA_CONTRATTO").val(),
            'DATA_CHIUSURA': $("#DATA_CHIUSURA").val(),
            'MARKET_CODE': $("#MARKET_CODE").val(),
            'QUOTAZIONE_CODE': $("#QUOTAZIONE_CODE").val(),
            'UOM_PRIMARY': $("#UOM_PRIMARY").val()


    };

    swap_all.push(swap);
    swap_all.push(pricing_list);

如何以正确的方式传递这些数据?

谢谢!

4

1 回答 1

0

你很亲密。

var swap_all = {};
swap_all.swap = [];
swap_all.pricing_list = [];
swap_all.swap.push({
    ID_OPERAZIONE: $('#ID_OPERAZIONE').val(),
    ...
});
swap_all.pricing_list.push({
    field1: data,
    ....
});

您可以以相同的方式设置价格表。我使用这种格式并在我的控制器上定义了一个具有相同字段的类,并填充它。希望这会有所帮助。

于 2013-10-03T15:14:56.343 回答