问题: controller.cs 中复选框值显示为空。但根据从 jqgrid 中选择的行,它工作得很好。但是,当我选择任何行并更新所有字段时,它将使用修改后的值传递给控制器,但只有 IsEnabled 字段为空。
我有名为 IsEnabled 的数据库字段,它具有 Bit 数据类型。
我在 .cshtml 中编写了以下代码
<input type="checkbox" value='Yes' offval='No' name="IsEnabled" />
我正在使用以下代码来绑定数据库中的复选框值
grid.jqGrid('GridToForm', gsr, "#order");
我有保存按钮。当我单击保存时,将执行以下代码
$("#btnSave").click(function () {
var data = JSON.stringify($('#order').serializeObject());
var href = '@Url.Action("SaveData", "Users")';
var ajaxResponse = $.ajax({
type: "post",
url: href,
dataType: 'json',
data: data,
contentType: "application/json; charset=utf-8",
success: function (result) {
if (result.Success == true) {
alert("Success");
}
else {
alert("Error: " + result.Message);
}
}
});
以下用 Controller.cs 编写的代码
(在 FormValue 中,它将正确显示除 IsEnabled 之外的所有更新值,它将始终显示为 null。)
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult SaveData(User FormValue)
{
string message = "";
return Content(message);
}