我有以下jquery $ .post代码。
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]:true
答案 0 :(得分:2)
将其更改为:
var cbvalues = {};
cbvalues.A= $('#checkbox1').is(':checked');
cbvalues.B= $('#checkbox2').is(':checked');
答案 1 :(得分:0)
@Url.Content
不需要'',因为它是c#Razor代码。并且CBValues与复选框类型不匹配。
使用:
var cbvalues = {};
cbvalues.A = $('#checkbox1').is(':checked');
cbvalues.B = $('#checkbox2').is(':checked');