Кнопка фильтра не будет перезагружаться и фильтровать информацию - PullRequest
0 голосов
/ 03 июля 2019

Здравствуйте. Я пытаюсь отфильтровать по статусу выпуска на своих страницах индекса выпадающий фильтр, но при нажатии кнопки «Процесс» страницы не будут фильтроваться ...

Что я здесь не так делаю?

Страница указателя с кнопкой фильтра

Вид:

@using (@Html.BeginForm("Index", "Home", FormMethod.Post, new { @class = 
     "FilterForm" }))
                        {
                            <table>
                                <tr>
                                    <th>


        @Html.DropDownList("GraduationStatus", 
         null, htmlAttributes: new { @class = "form-control" })
                                        </th>
                                        <th>
                                            <button type="submit" class="btn btn- 
          primary btn-lg"> Process !</button>
                                        </th>
                                    </tr>
                                </table>
                            }

Контроллер:

 public ActionResult Index(string graduationStatus)
        {
            ViewBag.GraduationStatus = new SelectList(db.Graduated_Students.Select(m => m.GraduationStatus).Distinct().ToList());

            var graduates = db.Graduated_Students.Where(student => student.GraduationStatus != null);

            return View(graduates.ToList());
        }

1 Ответ

0 голосов
/ 03 июля 2019

потому что вам не нужно фильтровать при загрузке страницы initail. GravationStatus будет нулевым при начальной загрузке, поэтому добавьте условие, чтобы проверить, имеет ли градация Status какое-либо значение. как это

   public ActionResult Index(string graduationStatus)
    {
      var graduates = db.Graduated_Students.Where(student => student.GraduationStatus != null);
        ViewBag.GraduationStatus = new SelectList(db.Graduated_Students.Select(m => m.GraduationStatus).Distinct().ToList());
         if(!string.IsNullOrEmpty(graduationStatus))
         {
             graduates = graduates .Where(student => student.GraduationStatus == graduationStatus);
         }


        return View(graduates.ToList());
    }
...