我有一个数据库表,其中有一个名为Status的列,它是room Status,我用它作为带有Cleaning和Inventory Check值的标记枚举,我正在使用if条件将表中Status列的值与枚举匹配如果匹配,则显示该复选框如果表中Status的值为4,在枚举中Status的值为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");
}