3

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

4

1 回答 1

11

您应该将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.

最后是您处理请求的操作:

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

注意参数名称:newValue.

于 2012-11-13T05:02:27.127 回答