Как обрабатывать динамический флажок asp.net MVC 5 - PullRequest
0 голосов
/ 10 сентября 2018

У меня есть несколько флажков, которые приходят из моей базы данных. как это выглядит Изображение флажка . Что я хотел, так это то, что если я установил один или несколько флажков, то оба значения флажка и не было обновлены, чтобы обновить мою базу данных. Если этот флажок установлен, он будет активен как «1» или не отмечен, как «0».

<input class="form-check-input" value="@dt["MNUD_TEXT"]" ID="@dt["MNUD_TEXT"]" type="checkbox" name="Data"  >

это код, который я готовлю флажок.

Plz help, Как я могу написать код в своем действии, который поможет мне обновить базу данных в качестве упоминания. Пожалуйста, дайте мне знать, если нужна дополнительная информация.

Ответы [ 2 ]

0 голосов
/ 10 сентября 2018

Вы можете сделать это, скажем, у вас есть флажок, как,

    <input class="form-check-input" value="@dt["MNUD_TEXT"]" D="@dt["MNUD_TEXT"]" type="checkbox" name="Data" class="clsChkFromDB">

Теперь необходимо связать событие изменения флажка с помощью селектора «.clsChkFromDB» и события изменения флажка. вам нужно отправить ajax-запрос, который обновляет значение флажка в базе данных,

        $(function () {
            //Bind on change event with .clsChkFromDB(Checkbox)
            $("#formId").on("change", '.clsChkFromDB', function () {
                updateValue(this.id, this.checked);
            });
        });


        function updateValue(chkId, chkValue) {
            try {
                var strUrl = '@Url.Action("UpdateValue", "ControllerName")';

                var dataObject = JSON.stringify({
                    "chkId": chkId,
                    "chkValue": chkValue
                });

                $.ajax({
                    url: strUrl,
                    type: 'POST',
                    data: dataObject,
                    async: true,
                    contentType: 'application/json',
                    success: function (result) {
                        //Do some action on success
                    },
                    complete: function (result) {
                        //Do some action on complate
                    },
                    error: function (err) {
                        console.error(err);
                    }
                });

            } catch (error) {
                console.error(e);
            }
        }

И, наконец, вы должны написать ниже действие в вашем контроллере,

    [HttpPost]
    public JsonResult UpdateValue(string chkId, string chkValue)
    {
        dynamic result = string.Empty;

        try
        {
            //Code to update value in DB
            result = new
            {
                message = "",
                StatusCode = HttpStatusCode.OK
            };

        }
        catch (Exception ex)
        {
            result = new
            {
                message = ex.Message,
                StatusCode = HttpStatusCode.InternalServerError
            };
        }
       return Json(returnResult);
    }
0 голосов
/ 10 сентября 2018

@ foreach (var item в Model) {td> @ Html.CheckBox ("fileItem") @ Html.Hidden ("fileId", item.ID)}

В списке возврата метода действия и в представлении используйте код, который я упоминал выше

...