如何通过mvc3中的ajax将复选框值传递给控制器

时间:2013-07-12 07:52:32

标签: asp.net-mvc-3 jquery razor checkbox

我的班级中有一个属性为字符串的属性。

public string Months { get; set; }

在视图中,我需要创建一个显示月份的复选框列表。 如果选择了1月1,则应保存到数据库。如果选择1月和2月,则应将1,2保存到数据库中。

我使用ajax表单传递值。它适用于除checkboxlist之外的所有字段。

 @using (@Ajax.BeginForm("Create", "Rate", null, new AjaxOptions { OnSuccess = "OnSuccessRateCreate", HttpMethod = "POST" }, new { id = "RateForm" }))
    {
    //fields inside this
@Html.CheckBoxFor(model=>model.Months,new{id="month",value="1"})Jan
@Html.CheckBoxFor(model=>model.Months,new{id="month1",value="2"})Feb
@Html.CheckBoxFor(model=>model.Months,new{id="month2",value="3"})Mar
@Html.CheckBoxFor(model=>model.Months,new{id="month3",value="4"})Apr
    }

显示错误: -

Cannot implicitly convert type string to bool.

请帮忙......

1 个答案:

答案 0 :(得分:0)

你的绑定错误。尝试绑定此复选框的列表

public List<string> Months { get; set; }


 @using (@Ajax.BeginForm("Create", "Rate", null, new AjaxOptions { OnSuccess = "OnSuccessRateCreate", HttpMethod = "POST" }, new { id = "RateForm" }))
    {
 <input type="checkbox" value="0" name="Mounth">    
 <input type="checkbox" value="1" name="Mounth">    
 <input type="checkbox" value="2" name="Mounth">

    }

适合我