У меня есть таблица базы данных, в которой у меня есть столбец с именем Status, который представляет собой статус комнаты. Я использовал его в качестве помеченного Enum со значением «Очистка и проверка инвентаризации», я использую условие if, чтобы сопоставить значение столбца Status в таблице с Перечисление, если оно совпадает, показывает этот флажок, если значение статуса в таблице равно 4, а в Перечислении это 4, то соответствующая комната требует очистки, если оно равно 3, тогда требуется проверка инвентаря и т. д.
При нажатии кнопки «Сохранить» я хочу получить значение флажков с соответствующим значением RoomId, которое запрашивало очистку и инвентаризацию, а затем передать нулевое значение в столбец «Состояние» с этим соответствующим значением RoomId. должно быть нулевым, никаких действий не требуется для комнаты
Я хочу использовать метод jquery post для этого
@if (item.Status == EnumHkStatus.Cleaning)
{
<input type="checkbox" data-cid="@item.RoomId" class="form-check-input cstatus" />
<label>Cleaning</label>
<br />
}
@if (item.Status == EnumHkStatus.InventoryCheck)
{
<input type="checkbox" data-invid="@item.RoomId" class="form-check-input cstatus" />
<label>Inventory Check</label>
}
<button type="button" class="btn btn-default insert" data-rid="@item.RoomId">Save</button>
$(function () {
$('.insert').click(function () {
if ($('cstatus').is(':checked')) {
var cleaningStatus = $('input[type=checkbox]').val();
}
$.post("@Url.Action("SetCleaningStatus", "HouseKeeping")", { id: $(this).data("id"), status: cleaningStatus });
});
Метод действия контроллера
public ActionResult SetCleaningStatus(int id, int status)
{
var RoomSt = db.SingleOrDefault<Room>(id);
if(ModelState.IsValid)
{
RoomSt.Status = null;
db.Update(RoomSt);
}
return View("Index");
}