Как сохранить значение динамически созданного CheckBox - PullRequest
0 голосов
/ 03 февраля 2020

Я учусь asp. net mvc, и я работаю с Dynami c Checkbox From Databse. Я создал флажок, но теперь я застрял Как я могу сохранить это выбранное значение флажка в базе данных и показать в сетке

  1. Следующим является Мой класс

    public IEnumerable<clsHobbyList> GetHobby()
            {
                List<clsHobbyList> lstHobby = new List <clsHobbyList>();
    
                using (SqlConnection con = new SqlConnection(ConnectionString))
                {
                    SqlCommand cmd = new SqlCommand("spAddHoby", con);
                    cmd.CommandType = CommandType.StoredProcedure;
    
                    con.Open();
                    SqlDataReader rdr = cmd.ExecuteReader();
    
                    while (rdr.Read())
                    {
                        clsHobbyList hby = new clsHobbyList();
                        hby.Id = Convert.ToInt32(rdr["Id"]);
                        hby.HobbyName = rdr["HobbyName"].ToString();
    
    
                        lstHobby.Add(hby);
                    }
                    con.Close();
                }
                return lstHobby;
            }
    
  2. Следующая страница - это мой вид

        <div class="form-group">
                @Html.LabelFor(model => model.Hobby, htmlAttributes: new { @class = "control-label col-md-2" })
                <div class="col-md-10">
                    @foreach (var item in Model.clsHobbyList)
                    {
                        <input type="checkbox" id="@item.Id" value="@item.HobbyName" text="@item.HobbyName"
    name="@item.HobbyName" />
                        @item.HobbyName
                    }
                </div>
                @Html.ValidationMessageFor(model => model.Hobby, "", new { @class = "text-danger" })
            </div>
    
  3. Это мой контроллер

    [HttpGet]
            public ActionResult Create()
            {
                EmployeeDataAccessLayer objemployee = new EmployeeDataAccessLayer();
                clsHobbyList hby = new clsHobbyList();
                ViewBag.Hobby = new SelectList(objemployee.GetHobby(), "Id", "HobbyName");
    
                Employee emp = new Employee();
                emp.clsHobbyList = objemployee.GetHobby().ToList();
    
    
                return View(emp);
            }
    [HttpPost]
            public ActionResult Create([Bind] Employee emp, HttpPostedFileBase file, List<clsHobbyList> clsHobbyList)
            {
                EmployeeDataAccessLayer objemployee = new EmployeeDataAccessLayer();
                clsHobbyList hby = new clsHobbyList();
                ViewBag.Hobby = new SelectList(objemployee.GetHobby(), "Id", "HobbyName");
            }
    

    Пожалуйста, предложите мне какое-нибудь решение, Как я могу сохранить значение выбранного флажка

...