Получите выбранное значение из выпадающего списка в Html.Сетка в mvc

#asp.net-mvc #gridview

Вопрос:

Если кто-нибудь может помочь мне сохранить(выбранное) значение в раскрывающемся списке в моей сетке. Я буду очень благодарен. пожалуйста, помогите мне. Вот мой код

 @using (Html.BeginForm("Index", "MVP", FormMethod.Post, new { @id = "MVP" }))
  {
     @Html.Grid(Model).Named("EmpList").Columns(x =>
   {
       x.Add(y => y.Department).Titled("Department").Encoded(false).Sanitized(false).Filterable(true);
       x.Add(y => y.FullName).Titled("Emp Name").Encoded(false).Sanitized(false).Filterable(true);
       x.Add(y => y.EmpID).Titled("Employee ID").Encoded(false).Sanitized(false).Filterable(true).Css("Empdepartment");
       x.Add(y => y.Supervisor).Titled("Supervisor").Encoded(false).Sanitized(false).Filterable(true);
       x.Add(y => y.ConfirmedComplaint).Titled("Confirmed Compliant").Encoded(false).Sanitized(false).Filterable(true);
       x.Add(y => y.Nursing).Titled("Nursing").Encoded(false).Sanitized(false).Filterable(true);
       x.Add(y => y.Program).Titled("Program").Encoded(false).Sanitized(false).Filterable(true);
       x.Add(y => y.JobStatus).Titled("Job Status").Encoded(false).Sanitized(false).Filterable(true);
       /////     x.Add().Titled("Job Status").Encoded(false).Sanitized(false).Filterable(true).RenderValueAs(y=> Html.Raw("<input id='hdnEmpList" y.EmpID "' type='hidden' value='"   @ViewBag.EmpList "' />")) ;
       x.Add().Titled("Current Status").Encoded(false).SetWidth(1).Sanitized(false).Filterable(true).RenderValueAs(y => @Html.DropDownList("Select Current Status", new SelectList(ViewBag.EmpList, "MVPCurrentStatus", "MVPCurrentStatus", y.OP_CurrentStatus), new { style = "width: 100px;", @class = "form-control" , @id = "CurrentStatus_"   y.EmpID}));
       //, y.OP_CurrentStatus
       x.Add().Titled("Complete amp; Signed").Encoded(false).Sanitized(false).Filterable(true).RenderValueAs(y => CompliantSigned(y));
       x.Add().Titled("Date Anticipated Fully Compliant").Encoded(false).Sanitized(false).Filterable(true).RenderValueAs(y => Html.Raw("<input type = 'text' id='DateAnticipated_"   y.EmpID   "'  value='"   y.DateAnticipated_FullyComplaint_string   "' class='form-control date-picker' name = '"   y.DateAnticipated_FullyComplaint_string   "'></input>"));

       x.Add().Encoded(false)
                .Sanitized(false)
                .SetWidth(20)
                .RenderValueAs(y => Html.Raw("<input type ='button' class='btn btn-success' value='Save' onclick= 'SaveEmployeee("   y.EmpID   ")'></input>"));
   }).Sortable(true).WithMultipleFilters().WithPaging(10).SetRowCssClasses(x => x.CreatedBy == null ? "" : "AppChanges")
   }
 

Вот мой контроллер

       public ActionResult Index()
    {
       
        try
        {
              var search = dbContext.OP_Admin_MVP_TrackingApp.ToList();

                    foreach (var item in search)
                    {
                        if (item.OP_CurrentStatus != null)
                        {
                            ViewBag.EmpList = dbContext.OP_Admin_MVP_TrackingApp.Where(x => x.EmpID == item.EmpID amp;amp; x.OP_CurrentStatus == item.OP_CurrentStatus).Select(x => x.OP_CurrentStatus).FirstOrDefault();
                        }
                        else
                        {
                            var emplist = dbContext.MVP_CurrentStatus.Where(x => x.isActive == true).OrderBy(x => x.MVPCurrentStatus).ToList();
                            ViewBag.EmpList = emplist;
                        }
                                          return View(search);
                }
           
        }
        catch (DbEntityValidationException e)
        {
            foreach (var validationErrors in e.EntityValidationErrors)

            {
                foreach (var validationError in validationErrors.ValidationErrors)

                {
                    Trace.TraceInformation("Property: {0} Error: {1}", validationError.PropertyName,
                        validationError.ErrorMessage);
                }
            }
            Session["Error"] = e.InnerException   "   ----   "   e.Message;
        }
        return View();
    }
[HttpPost]
    [ValidateAntiForgeryToken]
    [AllowAnonymous]
    public ActionResult Index(MVP mvpApp, FormCollection form)
    {
         try
        {
                  if (!string.IsNullOrEmpty(mvpApp.SearchEmpIDorName))
                    {
                        var employee = dbContext.OP_Admin_MVP_TrackingApp.Where(x => x.FullName.ToUpper().Contains(mvpApp.SearchEmpIDorName.ToUpper()) ||
                                                                              x.EmpID.ToUpper().Contains(mvpApp.SearchEmpIDorName.ToUpper())).ToList();
                        return View(employee);
                    }
                }
                else
                {
                    return RedirectToAction("NotAuthorized", "Login");
                }

         
        }
        catch (DbEntityValidationException e)
        {
            foreach (var validationErrors in e.EntityValidationErrors)

            {
                foreach (var validationError in validationErrors.ValidationErrors)

                {
                    Trace.TraceInformation("Property: {0} Error: {1}", validationError.PropertyName,
                        validationError.ErrorMessage);
                }
            }
            Session["Error"] = e.InnerException   "   ----   "   e.Message;
        }
        return View();
    }
 

Я могу сохранять значения из сетки даже в раскрывающемся списке в БД, но не могу получить выбранное(сохраненное) значение в сетке. это всегда появляется 1-е значение. Пожалуйста, помогите мне.

Ответ №1:

в коде не было никаких ошибок. это была моя визуальная студия. это перестало работать. Мне пришлось переустановить, а затем код работает правильно.