2010-03-22 110 views
5

我有以下簽名的方法:發送JSON陣列被接收作爲字典<字符串,字符串>

public ActionResult RenderFamilyTree(string name, Dictionary<string, string> children) 

我試圖從使用jQuery這樣的JavaScript調用它:

$('#div_render').load(
    "<%= Url.Action("RenderFamilyTree") %>", 
    { 
     'name': 'Raul', 
     [ 
      {'key':'key1','value':'value1'}, 
      {'key':'key2','value':'value2'} 
     ] 
    }, 
    function() {     
     alert('Loaded'); 
    } 
); 

我錯過了什麼讓這個工作?

回答

4

看看javascript。您正在使用對象表示法,但像使用數組一樣使用它。數組中的2個項目應該是對象的屬性。

$('#div_render').load(
"<%= Url.Action("RenderFamilyTree") %>", 
{ 
    name: 'Raul', 
    myProperty: [ 
     {key:'key1',value:'value1'}, 
     {key:'key2',value:'value2'} 
    ] 
}, 
function() {     
    alert('Loaded'); 
} 

);

0

默認模型聯編程序支持高級方案,如綁定到lists and dictionaries。爲了使這個工作,你需要發送以下請求:

children[0].Key=key1&children[0].Value=value1& 
children[1].Key=key2&children[1].Value=value2& 
name=Raul 

所以,你既可以編寫自己的定製粘合劑或以這種方式格式化您的查詢參數。我不確定jQuery支持這個開箱即用的功能。

相關問題