2011-08-24 149 views
0

我已經完成了如何發佈數據到MVC控制器/操作的研究,我遇到了一些麻煩。我要發佈的數據(通過JavaScript),到我的MVC控制器,格式如下:發佈複雜的數據到MVC控制器/操作

{ 
    someString: "thisString", 
    myArray: ["string1", "string2"] 
} 

我的MVC行動具有以下特徵:

[HttpPost] 
public ActionResult someAction(FormCollection formValues); 

如果我檢查formValues的價值觀,我會看到鍵/值對:

key: "someString" 
value: "thisString" 

key: "myArray[]" 
value: [0]: "string1", [1]: "string2" 

這一切看起來不錯,直到我嘗試:

TryUpdateModel(MyCustomModel); 

someString /「thisString」綁定的鍵/值對完善,但數組(myArray)解析爲null。

我的模型看起來是這樣的:

public MyCustomModel 
{ 
    public string someString {get; set;} 
    public string [] myArray {get; set;} 
} 

這是帖子的樣子(jQuery的):

$.post 
(
    "Controller/someAction", 
    { 
     someString: "thisString", 
     myArray: ["string1", "string2"], 
    }, 
    function(data) { ...do something } 
); 

究竟我做錯了什麼?默認的MVC ModelBinder不支持綁定一個簡單的字符串數組嗎?

+2

如果你對MVC 3,你應該嘗試張貼的JSON從JS(包括stingify 'ing它) – RPM1984

+0

大聲笑試圖說,無濟於事,除非我做錯了......但是,謝謝 –

+0

沒有probs,也許更新您的帖子與您使用的JS張貼到行動?所以我們可以看到流程的所有部分。 – RPM1984

回答

2

張貼到你的控制器動作

traditional: true 

我只是複製這個問題我的機器上,並且解決它時,您必須添加以下。我還發現this後這似乎已經包含在同一個解決方案

編輯

這裏的another similar question ...

+0

絕對真棒 –

相關問題