2013-01-02 27 views
1

我會得到如下格式的JSON對象,每種格式都包含不同的屬性/鍵,即這些屬性/鍵是動態的。如何用asp.net mvc中的強類型模型發佈大數據?

var SelectedRows= [ 
      {"id":"1","name":"jhon","phone":"6699"}, 
      {"id":"2","name":"Aron","phone":"7799"}, 
      {"id":"3","name":"Iyan","phone":"8899"}, 
     ] 

var SelectedRows= [ 
      {"id":"1","fname":"jhon","lname":"6699"}, 
      {"id":"2","fname":"Aron","lname":"7799"}, 
      {"id":"3","fname":"Iyan","lname":"8899"}, 
     ] 

var SelectedRows= [ 
     {"id":"1","fname":"jhon","lname":"6699"}, 
     {"id":"2","fname":"Aron","lname":"7799"}, 
     {"id":"3","fname":"Iyan","lname":"8899"}, 
     ] 

使用AJAX post調用發佈數據。

$.ajax({ 
    url: "@Url.Action("Export", "Export")", 
    type: "POST", 
    data: JSON.stringify(SelectedRows), 
    success: function(result) {} 
});​ 

控制器動作方法:

[HttpPost] 
public ActionResult Export(**what type to specify here**) 
{ 

} 

正如我所說的屬性/鍵是動態的,所以我不能在這裏使用的強類型模型。 我必須爲操作方法指定一些genaric類型的參數。

我不會有可能嗎?如果是的話,該怎麼辦?

回答

0

聽起來像dynamic類型可能是你的答案。完整的詳細信息可以在here找到。

+0

我試過這種動態類型,但它始終顯示參數的值爲{object}。以及你的鏈接在接收到動作方法後解釋json值的反序列化。 –

0
[HttpPost] 
public ActionResult Export(FormCollection collection) 
{ 

} 

有關更多信息FormCollection

0

這就是我所做的。

$.ajax({ 
    url: "@Url.Action("Export", "Export")", 
    type: "POST", 
    data: JSON.stringify(SelectedRows), 
    **contentType: "application/json; charset=utf-8",** 
    success: function(result) {} 
});​ 

需要指定應用程序的contentType 在發佈的數據,並 接收動態類型的列表值。

[HttpPost] 
public ActionResult Export(**List<dynamic>** SelectedRows) 
{ 

} 
相關問題