問題: チェックボックスの値がcontroller.csにnullが表示されます。しかし、jqgridからの行の選択に従って完全に機能しています。しかし、任意の行を選択してすべてのフィールドを更新すると、変更された値でコントローラーに渡されますが、IsEnabledフィールドのみがnullになります。
ビットデータ型のIsEnabledというデータベースフィールドがあります。
私は.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);
}