我有一个数据库表,其中有一个名为“状态”的列,它是房间状态,我已将其用作带有清洁和库存检查值的标记枚举,我正在使用if条件将表中“状态”列的值与如果匹配,则枚举;如果表中的status值为4,则显示此复选框;如果枚举为4,则显示相应房间需要清洁;如果为3,则需要库存检查,依此类推。
单击“保存”按钮后,我要获取具有相应RoomId的已选中复选框的值,该RoomId要求进行清洁和库存,然后将空值传递给Status列,并带有相应的RoomId表示已对该房间进行了清洁和库存检查,然后返回状态应该为null,无需对房间采取任何行动
我想为此使用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");
}