保存CheckBox更改的更改?

时间:2012-11-13 04:30:45

标签: asp.net-mvc checkbox submit actionlink checkboxfor

我有一个反映数据库中表格的MVC索引页面 其中一列是布尔值 我希望在索引页面中有一个复选框,当单击时,立即调用一个动作,该操作将在现场保存新状态而无需提交/刷新。

1 个答案:

答案 0 :(得分:8)

您应该向onclick添加input个活动。你的剃须刀看起来类似于:

@Html.CheckBoxFor(m => m.Foo, new { onclick = "SomeMethod(this)" });

然后你的脚本看起来类似于(假设你有权访问jQuery;转换它应该是直截了当的):

function SomeMethod(checkboxInput) {
    $.ajax({
      type: 'POST',
      url: Your/Action,
      data: { newValue: checkboxInput.checked },
      success: success,
      dataType: 'json'
    });
}

请注意参数名称:newValue

最后你的Action来处理请求:

public JsonResult Action(bool newValue) {
   //Do your stuff!
   //repository.Update();
}

请注意参数名称:newValue