0

問題: チェックボックスの値が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);
        }
4

1 に答える 1

0

このコードを削除する必要があります(jquery ajaxを使用する場合)

[AcceptVerbs(HttpVerbs.Post)]

ポストバックを使用してクラスを送信する場合は、上記のコードを使用してください

jQueryでクラスを送信するには、次のコードを使用します。試してみてください。

$.ajax({
                type: "post",
                url: href,
                dataType: 'json',
                data: SON.stringify({ FormValue : { ID : $('#controlIdName').val() , Name : $('#ControlName').val() } }),
                contentType: "application/json; charset=utf-8",
                success: function (result) {
                    if (result.Success == true) {
                        alert("Success");
                    }
                    else {
                        alert("Error: " + result.Message);
                    }
                }
于 2013-01-24T05:57:10.930 に答える