Сохранить флажок списка значений базы данных Sql в MVC5 - PullRequest
0 голосов
/ 15 октября 2019

Я хочу сохранить поля и флажки в таблице базы данных в форме: Таблица соединений содержит следующие поля:

таблица соединений:

public  partial class Connection
{
    [Key]
    public int ID { get; set; }
    public string CommunicationName { get; set; }
    public bool IsSelected { get; set; }
}

Таблица регистрации:

public class RegisterForm
{
    #region Ctor
    public RegisterForm()
    {

    }
    #endregion Ctor

    #region Properties

    [Key]
    [Required]
    public int ID { get; set; }

    [Required(ErrorMessage = ("Required"))]
    [StringLength(50, ErrorMessage = "This field must be a maximum of 50 characters")]
    [TypeConverter("NVarchar(121)")]
    [DisplayName("FullName")]
    public string FullName { get; set; }

    public string Email { get; set; }

    public List<Connection> Communications { get; set; }   
}

Значения полей флажков в списке отображаются с использованием следующего метода:

questionForm.Communications = db.Connections.ToList<Connection>();

Теперь, как сохранить информацию в сообщении и сохранить ее в таблице регистров. ????????? Какие изменения должны быть созданы для обновления, удаления операции в реестре?

Контроллер для регистра:

[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create([Bind(Include = "ID,FullName,PhoneNumber,Email,Communication,")]RegisterForm questionForm)
{
    if (ModelState.IsValid)
    {             
        db.Registers.Add(questionForm);
        var data = db.SaveChanges();
            return View("FormSuccessfullySubmitted");              
    }
        return View(questionForm);
}

1 Ответ

0 голосов
/ 15 октября 2019

Вы должны прочитать о привязке модели MVC. Обычно это может связать это без проблем. Но списки немного отличаются. Вы должны предоставить индекс элемента в списке. Вот почему лучше использовать для , а не foreach .

. Обратите внимание, что все элементы списка отображаются с использованием его индекса в списке.

<table class="table">
@using (Html.BeginForm("Bind", "Bind", FormMethod.Post))
{
    for (int i = 0; i < Model.Count(); i++)
    {
         <tr>
             <td>
                 @Html.DisplayFor(modelItem => Model[i].CommunicationName)
             </td>
             <td>
                 @Html.CheckBoxFor(modelItem => Model[i].IsSelected)
             </td>
         </tr>
     }

    <button type="submit">Submit</button>
}

</table>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...