MVC Html.Флажок

#c# #model-view-controller

#c# #модель-представление-контроллер

Вопрос:

У меня есть флажок, если оператор case из хранимой процедуры помечает значение как 1, я хочу, чтобы флажок был установлен. Я попробовал это ниже, но безуспешно.

 <td width="2%">
    @if (Model.IsCurrentlyClosed == true)
    {
        @Html.CheckBoxFor(item => checked(item.IsCurrentlyClosed))
    }
    else
    {
        @Html.CheckBoxFor(item => item.IsCurrentlyClosed)
    }
 

Комментарии:

1. вы намерены сохранить статус проверки в базе данных?

Ответ №1:

Пожалуйста, попробуйте это (для проверки):

 @Html.CheckBox("IsCurrentlyClosed")
 

Комментарии:

1. Спасибо @BassemAdas первый вариант возвращает все как проверенное. Я хочу, чтобы флажки были установлены только на основе флага, установленного в процедуре. Второй вариант не сработал

2. @AndyWilliams Извините за путаницу, я отредактировал ответ, думаю, теперь он работает нормально.

Ответ №2:

Я не воспроизводил поведение кода, это просто идея, если вы хотите записать значение:

 $('#MyCheck').click(function () {
        var check= new Object();
        check.IsCurrentlyClosed= $(this).closest('tr').find(".CheckClass").val();
        if (status != null) {
                    $.ajax({
                        type: "POST",
                        url: "/Home/EditPost",
                        data: JSON.stringify(check),
                        contentType: "application/json; charset=utf-8",
                        dataType: "json",
                        success: function (response) {
        if (this.checked)            
            alert('I m Checked');
        else
            alert('I m not Checked');
        }
});

public JsonResult EditPost(DataBase CheckData)
    {

        DataBase check= new DataBase()
        {
            IsCurrentlyClosed= CheckData.IsCurrentlyClosed,
        };
        db.Entry(check).State = EntityState.Modified;
        db.SaveChanges();
        return Json(check, JsonRequestBehavior.AllowGet);
    }