如何使用复选框将多个文本框值从视图传递到控制器

时间:2018-07-12 18:48:29

标签: c# asp.net asp.net-mvc entity-framework

我有一个编辑表单,其中有两个文本框和一个复选框。我正在尝试使用复选框更新图书详细信息。我不确定如何使用Entity Framework中的复选框将文本框值从视图传递到控制器。我需要将那些编辑的文本框值保存到DB中。现在,我的checkboxex尚未将编辑文本框的值传递给控制器​​。

“我的编辑”表单如下所示 Edit Form

查看:

@if (Model.Count > 0)
        {
            <div>
                @foreach (var books in Model)
                {
                        <div class="col-md-2">
                            @Html.EditorFor(model => books.caption)
                            @Html.ValidationMessageFor(model => books.caption)
                        </div>
                        
                        <div class="col-md-2">
                            @Html.EditorFor(model => books.copies)
                            @Html.ValidationMessageFor(model => photos.copies)
                        </div>
                        <div class="col-md-1">
                            <input type="checkbox" class="checkboxes" value="@books.id" name="id" />
                        </div>
               }
          </div>
}

<div class="form-group">
    <div class="col-md-offset-2 col-md-10">
        <input type="submit" name="submitButton" value="UPDATE" />
        <input type="submit" name="submitButton" value="ADD"/>
        <input type="submit" name="submitButton" value="DELETE" />
    </div>
</div>

Contoller:

public ActionResult EditBooks(int id, IEnumerable<int> id, string submitButton, 
                            [Bind(Include ="id,caption,copies")] Books books)

{

     switch (submitButton)

    {  
         case: UPDATE

         if (ModelState.IsValid)

          {

             try

            {

                foreach (var item in id)
                {
                    var update = _db.Books.FirstOrDefault(s => s.id == item);

                    if (update != null)
                    {
                        _db.MyTable.Add(update);
                        _db.SaveChanges();
                    }

                    return RedirectToAction("Edit", new {id});
                }
            }
        }
  }

}

我不确定我的控制器代码是否正确。

0 个答案:

没有答案