2014-02-26 80 views
0

我有以下jQuery $ .post代碼。ajax發佈對象沒有收到控制器

var cbvalues = {}; 
cbvalues.A= $('#checkbox1').is(':checked'); 
cbvalues.B= $('#checkbox2').is(':checked'); 

var senddata = some string; 
$.post('@Url.Content('+url')',{searchitems: cbvalues, key:senddata },function(data){ 
    //some code 
}); 

模型類的CheckBox

public class CheckBox 
{ 
    public Boolean A {get; set;} 
    public Boolean B {get; set;} 
} 

控制器代碼如下

public ActionResult PostAction(CheckBox searchitems, string key) 
{ 
    // searchitems.A is always false 
    // searchitems.B is always false 

} 

我可以在這裏得到鍵的值。但我無法獲得搜索項目對象的值。 該帖子正在正常工作。我可以看到這些值在Firebug控制檯中正確發佈。 我認爲問題應該與控制器或應該使用$ .ajax()而不是$ .post()。

請幫我解決問題。

Firebug發佈的值。

鍵:測試 searchitems [A]:真 searchitems [B]:真

+0

你是什麼意思 「URL」 ??? –

+0

你可以發佈什麼值從螢火蟲發送到控制器? –

+0

@ Shanky ..你在視圖中使用html控件或html助手嗎? –

回答

2

將其更改爲:

var cbvalues = {}; 
    cbvalues.A= $('#checkbox1').is(':checked'); 
    cbvalues.B= $('#checkbox2').is(':checked'); 
+0

這是一個錯字。它是在我原來的代碼中寫入的 – Shanky

0

@Url.Content不需要 '',因爲它是C#剃刀代碼。 CBValues與複選框類型不匹配。

用途:

var cbvalues = {}; 
cbvalues.A = $('#checkbox1').is(':checked'); 
cbvalues.B = $('#checkbox2').is(':checked'); 
+0

這是一個錯字。這是寫在我的原代碼 – Shanky

相關問題