2017-08-24 23 views
0

私のテーブルには3 <tr></tr>があります。ユーザーはそれらを編集することができ、保存ボタンでデータをサーバーに送信します。asp.net mvcでJSONで複数の配列を送信するには?

最初はメイン、その他はすべてメインの子です。誰かが新しいボタンをクリックすると、新しい子が作成されます。

は今、私は私がやろうとしていますすべてが主な目的とするJsonResultでチャイルズの配列を取得しているこの

var minf = {}; 
    minf.main = $("#tr" + curSplidId).find('input,select').serialize(); 



res.each(function(n) { 
      var i = $(this).find('input,select').serialize(); 
      minf[n] = i; 
     }); 

などの情報を維持するために考えています、私はこれにはJSON.stringify値の辞書を使用しようとしました。

これらの作品はありません。

誰か手伝ってください。私のテストでは、私のminfオブジェクト(私はStringify)で私にquerystringを送信していることがわかりましたが、JSONResultでキーを使って読むことができる辞書のように扱う方法がわかりません。

+0

配列をサーバーに渡している関数のコードを表示 –

答えて

0

あなたは3 trを持っているとします。最良の方法は、すべてのtrにループを使用し、実際に使用しているDTOと同じオブジェクトを作成し、そのリストを作成することです。

 var MainList=[]; 
     $('tr').each(function(){ 

     var MainDTO={}; 
     MainDTO.Column1=$(this).find('td').html(); 
     MainDTO.Column2=$(this).find('td').html(); 
     MainList.add(MainDTO) 

     }); 

このMainListを直接アクションに渡します。シリアルは必要ありません

+0

このHTMLは大きすぎます。選択と入力から入力値を送信するだけです。 – Adrian

+0

ですので、その入力値だけを見つけることができます:例えば MainDTO.Column1 = $(this).find( 'td input')。 MainDTO.Column1 = $(this).find( 'tdオプションを選択:選択')。 –

+0

2時間前と同じコードを書いていますが、入力(私のコードをチェックしてください)では問題は送信ではなくサーバーが理解できる方法です。私の答えをチェックしてください。 – Adrian

0

データをjsonに変換し、そのjsonをサーバーで読み取ると思います。私はJSとサーバーが処理するために全プロセスを難しくします。

すべての要素をシリアル化してサーバーに送信するという戦略を変更します。それはうまくいく。

idを読み取る必要がある場合は、3のIDを解析してコンマベースの値にすることができます。

関連する問題