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 に答える