Вы можете сделать это, скажем, у вас есть флажок, как,
<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);
}