Простой фильтр DropDownList? - PullRequest
       0

Простой фильтр DropDownList?

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

Эта тема, кажется, постоянно поднимается, но другие публикации кажутся слишком сложными для того, что я хотел бы сделать. Ниже представлен раскрывающийся список, который я создаю в представлении индекса. Все, что я хочу, это использовать этот раскрывающийся список как способ изменить фильтр на моем виде.

Индекс

@Html.DropDownList("PageFilter", ViewData["pgFilter"] as List<SelectListItem>)

Контроллер

       List<SelectListItem> li = new List<SelectListItem>();
       li.Add(new SelectListItem { Text = "Status & Test", Value = "0" });
       li.Add(new SelectListItem { Text = "Status", Value = "1" });
       li.Add(new SelectListItem { Text = "Test", Value = "2" });
       li.Add(new SelectListItem { Text = "No Filter", Value = "3" });
       ViewData["pgFilter"] = li;

Идея довольно проста. Если выбран первый элемент, и поле «Состояние», и поле «Тест» фильтруются с использованием определенного фильтра. Они также могут выбрать только один фильтр или нет фильтра.

Однако я изо всех сил пытался найти простое решение для передачи выбранного элемента в контроллер для запуска операторов If.

1 Ответ

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

Вы можете использовать следующий метод, если вы не используете никаких моделей.

Контроллер:

public class HomeController : Controller
    {
           public ActionResult MyDropDownView()
        {
            // shows your form when you load the page
            List<SelectListItem> li = new List<SelectListItem>();
            li.Add(new SelectListItem { Text = "Status & Test", Value = "0" });
            li.Add(new SelectListItem { Text = "Status", Value = "1" });
            li.Add(new SelectListItem { Text = "Test", Value = "2" });
            li.Add(new SelectListItem { Text = "No Filter", Value = "3" });
            ViewData["pgFilter"] = li;
            return View();
        }

        [HttpPost]
        public ActionResult MyResultAction(string selectedFilterId)
        {
            //do what ever you want
            return View();
        }
    }

Просмотр:

@using (Html.BeginForm("MyResultAction", "Home"))
        {

            @Html.DropDownList("selectedFilterId", ViewData["pgFilter"] as List<SelectListItem>, "--pick--", new
{
    title = "Pick Filter",
    onchange = "submit();"
});

        }

Значение элемента со связанными элементами будет передано MyResultAction

Hope контроллера Homeэто помогает.

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