Подумайте о Новая модель развертывания электронной коммерции New Egg для запуска, где ключевые слова на панели навигации дополнительно ограничивают отображаемый в данный момент список продуктов с каждым выбором.
Я установил домоискатель с Маршрутами как это:
http://{website.com}/{Housetype}/{PriceLow}-{PriceHigh}
http://mysite.com/Residential/180000-230000
http://mysite.com/Commercial/300000-500000
Но теперь я хочу добавить ссылки на боковую навигацию, которые еще больше ограничивают контент:
1 Bedroom
2 Bedroom
4 Bedroom
1-4 Acres
4-10 Acres
10+ Acres
Как мне передать и сохранить выбор между кликами с помощью MVC? Я думаю, что мои варианты:
- Продолжайте добавлять именованные параметры в строку запроса, например / {acres}: {low} - {high}, но для этого потребуется наличие всех параметров, я не смогу выбрать более одного критерия, или я нажму максимальная длина строки запроса.
- Как только я узнаю {housetype} и {ценовой диапазон}, перейдем к совершенно другой стратегии, возможно, передавая объект (например, DTO), который будет .AddCriteria ("Acres", ".gt.", "1" ); .AddCriteria ("Acres", ".lt.", "4") и т. Д .... Это звучит очень сложно
- Что-то еще?
Опять же, ищем ответы для начинающих, самый распространенный способ (почти шаблонный способ) для отправки критериев фильтрации и сортировки от клиента в ASP.NET MVC. Ссылки тоже полезны.