Я работаю над проектом ASP.NET MVC, где я использую маршрутизацию для создания дружественных URL-адресов, и у меня возникла проблема, которую я не знаю, как лучше решить.
Маршрутизация, которую я настроил, работает следующим образом
{категория}
{категория} / {производитель}
{категория} / {производитель} / {продукт}
Проблема, с которой я столкнулся, заключается в том, что я хочу отображать совпадения на одном и том же маршруте по-разному. например,
Категория1 Отображает
- A, за которым следует
- Изображение, за которым следует
- Список продуктов
Категория2 Дисплеи
- Изображение, за которым следует
- Акции, сопровождаемые
- Описание
Я обошел это, имея enum ViewTemplate, связанный с категорией, и затем возвращаю представление с тем же именем, но это не так, во-первых, потому что я не уверен, что я должен быть таким, действие контроллера, а также я все еще делаю те же самые вызовы базы данных, что хорошо для некоторых вещей, но если у категории есть 500 продуктов, я все равно вытаскиваю их из базы данных даже для категории 2, когда они не будут использоваться. Теперь к делу:
- Верно ли возвращать разные виды с одного и того же действия контроллера?
- Как бы вы справились с загрузкой разных данных для каждого представления?
- Если я ошибаюсь (что я думаю) Как я должен делать что-то подобное?
Спасибо за любую помощь, вы могли бы быть.