如何使用asp.net mvc根据使用jquery选中的复选框将所有值保存在数据库中

时间:2019-01-14 10:30:20

标签: javascript c# jquery asp.net-mvc

我有一个数据库表,其中有一个名为“状态”的列,它是房间状态,我已将其用作带有清洁和库存检查值的标记枚举,我正在使用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");
    }

0 个答案:

没有答案