2016-06-29 15 views
0

クライアント側から複雑なデータをasp.net mvcのwebmethodに送信する必要があるページがあります。 私のデータは次のとおりです。クライアント側からサーバー側に複合型を送信する方法

{"tbl":[{"row":{"items":[{"name":"madrak1","val":"fdsfds"},{"name":"mahaleTahsil1","val":"fdsfds"},{"name":"reshte1","val":""},{"name":"start1","val":""},{"name":"end1","val":""}]}}]} 

私はその中にすべての変数を置くクラスという名前のテーブルを持っている必要があります。 私のWebMethod属性は次のとおりです。

public ActionResult SaveDetailedInfo(List<rrow> tbl) 
    { 
     return Json(new { status = "Success", message = "Success" }); 
    } 
+0

リストの代わりに文字列を使用できます。 –

答えて

0

あなたのC#クラスのようなものになります。

public class Item 
{ 

    [JsonProperty("name")] 
    public string Name { get; set; } 

    [JsonProperty("val")] 
    public string Val { get; set; } 
} 

public class Row 
{ 

    [JsonProperty("items")] 
    public IList<Item> Items { get; set; } 
} 

public class Tbl 
{ 

    [JsonProperty("row")] 
    public Row Row { get; set; } 
} 

public class Table 
{ 

    [JsonProperty("tbl")] 
    public IList<Tbl> Tbl { get; set; } 
} 

そして、あなたのMVC方法:だからあなたのフロントエンドからデータを送信

public ActionResult SaveDetailedInfo(Table table) 
{ 
    return Json(new { status = "Success", message = "Success" }); 
} 

を...

var table = { 
    "tbl": [{ 
     "row": { 
      "items": [{ 
       "name": "madrak1", 
       "val": "fdsfds" 
      }, { 
       "name": "mahaleTahsil1", 
       "val": "fdsfds" 
      }, { 
       "name": "reshte1", 
       "val": "" 
      }, { 
       "name": "start1", 
       "val": "" 
      }, { 
       "name": "end1", 
       "val": "" 
      }] 
     } 
    }] 
}; 

var xhr = new XMLHttpRequest(); 
xhr.open('POST', '/Home/SaveDetailedInfo', true); 
xhr.setRequestHeader('Content-Type', 'application/json; charset=UTF-8'); 

// send the collected data as JSON 
xhr.send(JSON.stringify(table)); 

がで...

enter image description here

PSなるはずです。 There is an easy way to convert your json objects into C# classes

関連する問題