С Новым годом! Форум программистов, компьютерный форум, киберфорум
C#: ASP.NET MVC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
3 / 3 / 0
Регистрация: 17.04.2019
Сообщений: 108

Работа с фильтрами на сайте

15.01.2022, 12:24. Показов 1484. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите, пожалуйста: как сделать фильтрацию средствами MVC? Просто я - новичок в этой теме и ничего не понимаю.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
15.01.2022, 12:24
Ответы с готовыми решениями:

Работа с фильтрами
Не подскажите,как 1. делать фильтр "исключить" : "Изменить фильтр"-(вводим, что если в опред.поле есть слово "234", то строку...

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

Работа с фильтрами
Добрый день уважаемые форумчане! Подскажите пожалуйста как сделать, чтобы в фильтрах выбирали сперва производителя, а затем появлялся...

12
1497 / 1238 / 245
Регистрация: 04.04.2011
Сообщений: 4,363
15.01.2022, 19:02
Лучший ответ Сообщение было отмечено AntonioBonderas как решение

Решение

1. Модель.
C использованием ORM (Dapper, Entity Framework, etc) или на "голом" ADO.NET (xxxConnection, xxxCommand, xxxDataReader).
На выходе имеем классы моделей + имплементацию в виде контекста ORM либо репозитория (часто и то, и другое, т.к. контекста ORM не хватает для нужного функционала, например для динамических запросов для тех же фильтров и сортировок, получения произвольных наборов данных и т.д.).

2. Контроллер.
Пишутся методы для извлечения требуемых данных с использованием параметров, получаемых из http от Клиента. Часто для обработки этих самых параметров служит специальная модель, которая также добавляется в Модель приложения. Это удобный и гибкий способ обработки условий выборок, к которым относятся и те же фильтры.

3. Представление
Как правило, содержит две основные части: данные + вспомогательные элементы управления.
В первым относятся таблицы, списки, "карусели" и прочие визуальные элементы для отображения содержимого БД. Это может быть, к примеру, список предлагаемых услуг, таблица сотрудников, фрагментов описания предлагаемых товаров и т.д.
Ко второму - различные элементы (чекбоксы, инпуты, комбобоксы и т.д.), с помощью которых пользователь может указывать нужные ему опции. Например, выбирать производителя или характеристики товаров, структурное подразделение организации, тип и ценовой диапазон услуг и т.д.

4. Логика работы приложения.
Изначально пользователю предлагается некая стартовая страничка, на которой имеется начальная информация (например, перечень всех товаров). В дополнительных элементах может быть выставлены некоторые начальные опции, например, часто приобретаемые товары, какой-то список услуг или сотрудники маркетинговой службы. Либо опции не установлены и тогда основной контент странички включает полный список информации.
Пользователь управляет опциями, чекая на них, выбирая из предварительно заполненных и помещенных в разметку списков или вводя образец для поиска, например, фамилию сотрудника.
После нажатия на кнопку "Выбрать" JS собирает введенные опции и кладет их в параметры http. Можно использовать кнопку Submit, по которой сбор информации о параметрах будет выполнен автоматически самим браузером.
В любом случае на Web-сервер посылается get-запрос на новую выборку.
Web-сервер (а точнее, метод контроллера, указанный в url), получает Http, распарсивает его и работает с найденными параметрами. В нашем случае, передает их методу репозитория, который строит по ним динамический запрос к БД с учетом полученных "фильтров". Полученный датасет передается рейзору в строго типизированное представление, из которого рейзор строит разметку, которая и отправляется Клиенту.

В общем и целом схема такая. Я не описывал тут вариации, существенно влияющие на производительность и сложность кода приложения. Например, выбор технологии SPA/MPA, использование Ajax, частичные и мастер-представления и т.д.

Информации по этой теме в инете больше, чем очень много.
1
1497 / 1238 / 245
Регистрация: 04.04.2011
Сообщений: 4,363
15.01.2022, 19:15
На картинке приложение, выполненное по технологии фильтрации
Миниатюры
Работа с фильтрами на сайте  
0
HF
 Аватар для HF
1308 / 886 / 200
Регистрация: 09.09.2011
Сообщений: 2,602
Записей в блоге: 2
15.01.2022, 19:26
Кстати да, а о каких фильтрах речь? Может быть авторизация, валидация, биндинг и т.п?
0
1497 / 1238 / 245
Регистрация: 04.04.2011
Сообщений: 4,363
15.01.2022, 19:35
В верхней части находится три каскадных комбобокса, выбор из каждого изменяет содержимое нижестоящего. Т.е. выбор континента приводит к заполнению списка стран и очистке списка городов, выбор страны переписывает список городов.
В левой части находится иерархический список классов животного мира. Клик на "книжке" приводит к раскрытию списка подклассов, клик на названии - к перечитке таблицы животных.
В правой части - таблица животных. Тут находится информация БД, выбранная как с учетом класса/подкласса животных, так и с учетом города/страны/континента.
Например, если выбран "Лондон" и "Акулы", то в таблице будут отображаться только акулы, "прописанные" в Лондоне.

Кроме того, в верхней части таблицы есть еще поле для ввода дополнительного фильтра, который будет применен к текущей отсортированной колонке (текущая колонка, как и выбранный класс животных, выделяются цветом).
Если при текущей колонке "Имя животного" набрать, к примеру "кит" и нажать кнопку с лупой, то в списке останется только две китовые акулы. А если изменить текущую колонку, например, на "Возраст", ввести в фильтр "11" и нажать "лупу", то в списке останется только одна запись с акулой Мойшей.

Добавлено через 1 минуту
Т.е. приложение работает с тремя уровнями фильтрации.
Приложение выполнено по паттерну SPA+MVC и активно использует Ajax-технологию.

Добавлено через 7 минут
Есть еще и 4-й фильтр, на который "намекают" две кнопки в правой части заголовка.
Смотреть животных может любой пользователь Сети, а вот вносить правки (4-й фильтр, на этот раз функциональный) (добавлять животных или вносить изменения) могут только зарегистрированные пользователи и только для своих "питомцев". Информация о владельцах животных в колонке "Владелец" таблицы (которая в данном случае не заполнена, т.к. данные берутся не из "боевой" БД.
0
 Аватар для XIST
1960 / 1070 / 148
Регистрация: 01.10.2009
Сообщений: 3,590
Записей в блоге: 1
15.01.2022, 19:49
MsGuns, а как это относится к вопросу ТС?
0
1497 / 1238 / 245
Регистрация: 04.04.2011
Сообщений: 4,363
15.01.2022, 19:53
Цитата Сообщение от XIST Посмотреть сообщение
MsGuns, а как это относится к вопросу ТС?
Подождем реакции ТС

Добавлено через 1 минуту
Согласитесь, вопрос задан весьма неконкретно.
0
15.01.2022, 20:05

Не по теме:

а) я думал похвалиться

0
1497 / 1238 / 245
Регистрация: 04.04.2011
Сообщений: 4,363
15.01.2022, 20:32
Цитата Сообщение от XIST Посмотреть сообщение
я думал похвалиться
Чем ?
0
 Аватар для IamRain
4694 / 2702 / 734
Регистрация: 02.08.2011
Сообщений: 7,228
16.01.2022, 11:23
Цитата Сообщение от MsGuns Посмотреть сообщение
Чем ?
А зачем на вопрос о фильтрации давать скрин результата работы своей писанины?

Не по теме:

PS: Тот момент, когда понимаешь, что не трудовой стаж решает, а кол-во скиллов. :)

0
1497 / 1238 / 245
Регистрация: 04.04.2011
Сообщений: 4,363
16.01.2022, 13:13
Цитата Сообщение от IamRain Посмотреть сообщение
А зачем на вопрос о фильтрации давать скрин результата работы своей писанины
Потому что в сабже было такое:
Цитата Сообщение от AntonioBonderas Посмотреть сообщение
Просто я - новичок в этой теме и ничего не понимаю.
И, судя по реакции ТС, я не был так уж не прав

Добавлено через 2 минуты

Не по теме:

По поводу "писанины".
Для понимания смысла не нужны рюшечки и мувики на страничке.
Если это был "наезд", то я не обижаюсь. Можете и дальше в том же духе :)

0
 Аватар для IamRain
4694 / 2702 / 734
Регистрация: 02.08.2011
Сообщений: 7,228
16.01.2022, 15:41
Цитата Сообщение от MsGuns Посмотреть сообщение
Потому что в сабже было такое:

Не по теме:


И правда, чего это я прицепился к вам. Видимо у вас просто такая манера - вести компанейские диалоги.
Прошу прощения. Возможно, просто не дорос еще :wall:

0
HF
16.01.2022, 18:11

Не по теме:

Пока ТС не ответил, даже не понятно кого бы покритиковать. ;)

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
16.01.2022, 18:11
Помогаю со студенческими работами здесь

Работа с фильтрами
Ребят. такая штука. наверное глупая, но у меня никак не выходит. есть ленточная форма. на неё мы переходим из другой формы. при переходе...

Работа с фильтрами в taskkill
На ПК запущено 3-5 профилей FF, каждый из них работает со своим сайтом. Нужно завершать один из них. Хотел сделать так: ...

Работа с фильтрами VBA
Суть кейса: Есть две книги. Одна книга пустая в ней листы от А до Я. В другой книге лист с реестром, у которого один столбец принимает...

Работа с формами и фильтрами
Я очень прошу вас о помощи...Не требуеться супер форм и фильтров...2-3 формы и фильтра... Я очень прошу помогите((( Если потребуются...

Клиентская БД, работа с фильтрами и сортировкой
Google Таблицы Всем привет, стоит задача сформировать клиентскую БД в гугл таблицах. Перенес данные из excel на единый лист гугл таблиц и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru