保存CheckBox更改的更改?

Shi*_*mmy 2 checkbox asp.net-mvc submit actionlink checkboxfor

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

Jus*_*son 8

你应该添加一个onclick事件input.你的剃刀看起来类似于:

@Html.CheckBoxFor(m => m.Foo, new { onclick = "SomeMethod(this)" });
Run Code Online (Sandbox Code Playgroud)

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

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

注意参数名称:newValue.

最后你的Action来处理请求:

public JsonResult Action(bool newValue) {
   //Do your stuff!
   //repository.Update();
}
Run Code Online (Sandbox Code Playgroud)

注意参数名称:newValue.