2016-08-11 11 views
0

テーブルを表すJQueryオブジェクトで配列が配列されています。配列の各インデックスは基本的に新しいテーブルです。私がする必要があるのは、基本的には、これらの各テーブルをC#を使用するサーバー上のコードに送信することです。私はAJAXやJSONの経験はあまりありません。サーバー上のメソッドを呼び出すためのコードを取得しました。このメソッドは、到達したという文字列を返します。Ajaxを使用してサーバー上のC#コードにHTMLテーブルを送信

これらのHTMLテーブルをJSON形式にしてAJAXを使用してサーバーに送信するにはどうすればよいですか。

これまでのところ、これはサーバーに到達したことを確認する文字列を返すだけです。

これはこれは、これは私のC#のコード

public String CreateExcelSheet() 
{ 
    var text = "String Changed!"; 
    return text; 
} 

この出力であるString Changed!

私のjavascriptの

var tables: Array<JQuery> = this.BuildTables(); // Returns the 5 tables put into an array 
// Call server 
$.ajax({ 
    type: "POST", 
    //datatype: "JSON", 
    contentType: "application/json; charset=utf-8", 
    async: true, 
    url: GetHelper().GetVirtualDirectoryUrl() + "Index/GenerateExcelReport" 
}).done((data) => { 
    console.log(data); 
}).fail(function() { 
    console.log('Failed to send'); 
}); 

あるテーブルは

<table> 
    <tr> 
     <th>Header</th> 
     <th>Header</th> 
     <th>Header</th> 
     <th>Header</th> 
    </tr> 
    <tr> 
     <td>Data</td> 
     <td>Data</td> 
     <td>Data</td> 
     <td>Data</td> 
    </tr> 
    <tr> 
     <td>Data</td> 
     <td>Data</td> 
     <td>Data</td> 
     <td>Data</td> 
    </tr> 
    <tr> 
     <td>Data</td> 
     <td>Data</td> 
     <td>Data</td> 
     <td>Data</td> 
    </tr> 
</table> 

どのように見えるかの例です。

どのようにこのプロセスを繰り返すのですか、それらのHTMLテーブルを渡します。好ましくは、すべてが含まれているので、tablesに入るだけです。どのように私は彼らがサーバー側のコードに達すると、メソッドの内部からそれらを読むだろうか?

+1

jsonのサンプルを提供できますか? – Wamadahama

+0

Excelレポートを生成しようとしているだけですか、またはデータを実際にモデルにバインドしますか? –

+0

これは実際にあなたが送信しようとしていることを知るのを助けるでしょう –

答えて

0

this.BuildTables()で生成したJSONを と一緒に送信することができます。var tables:Array = this.BuildTables(); // 5つのテーブルを配列に返します。

// Call server 
$.ajax({ 
    type: "POST", 
    data: {tables: tables}, 
    contentType: "application/json; charset=utf-8", 
    async: true, 
    url: GetHelper().GetVirtualDirectoryUrl() + "Index/GenerateExcelReport" 
}).done((data) => { 
    console.log(data); 
}).fail(function() { 
    console.log('Failed to send'); 
}); 

注:data: {tables: tables},に注意してください。これは、配列のjson表現を渡します。

1つの選択肢は、代わりに、オブジェクト内のテーブルを置くこと

JSON.stringify(tables) 

を使用することです。

+1

これはJQueryオブジェクトの配列だと言っているので、不必要な量の不必要な情報が含まれていませんか? –

関連する問題