2014-10-09 47 views
0

我用jQuery發佈數據,但是我對數組數據有問題。提供給MVC控制器的值始終爲空。發佈JSON數據時MVC控制器的字符串[]參數爲空

這是我的JavaScript代碼:

cursorid:5434cdc84ba4dd0c40396851 
Filter[]:1 
Filter[]:3 
Filter[]:4 

這裏的C#方:

var FilterCategory = $('input:checkbox:checked').map(function() { 
       return this.value; 
      }).get(); 
var posting = $.post(url, { cursorid: lastid, CatFilter: FilterCategory }); 

來自網絡的表單數據

public ActionResult GetDataTweets(string cursorid,string[] CatFilter) 
    { 
     bla bla 
    } 

cursorid具有價值,但CatFilter一片空白。

我需要做什麼才能爲CatFilter提供正確的值?

回答

1

這這裏代碼:

var posting = $.post(url, { cursorid: lastid, CatFilter: FilterCategory }); 

從MVC的角度來看,它發送一個類,所以你需要一個倒數C#類來封裝數據。 創建一個類來處理這些數據,例如:

我假設你CatFilter陣列是一個字符串數組:

public class Data{ 
    public string cursorid { get; set;} 
    public string[] CatFilter {get; set;} 
} 

然後改變你的控制器:

public ActionResult GetDataTweets(Data data) 
{ 
    var s1 = data.cursorid; 
    var s2 = data.CatFilter[0]; 
} 

如果CatFilter是類,那麼你需要創建一個CatFilter類來映射到JavaScript版本。

+0

對不起,它沒有工作。他們都破了。 – user2372850 2014-10-09 15:43:41

相關問題