В моем приложении мне нужно загрузить один и тот же вид из двух разных контроллеров, не помещая представление в каталог общих представлений.Asp.net MVC - Можно ли загрузить представление из другой папки просмотра?
В принципе у меня есть эта структура папок
- Контроллеры
- EventsController.cs
- SearchController.cs
- Просмотров
- События
- Preview.aspx
- Поиск
- События
в основном картина это так же, как здесь, на переполнение стека. Вы получаете предварительный просмотр кучки вопросов по ссылке вопросов, но также вы получаете идентичную отформатированную страницу, когда выполняете поиск в строке поиска. Представления и модели просмотра предположительно идентичны.
Поскольку представление, которое мне нужно для поиска, точно такое же, как представление, которое мне нужно для событий, я хотел бы использовать один и тот же вид. Однако я хотел бы избежать использования общего каталога для этого конкретного вида.
Так что мой две части вопроса является ---
- Возможно ли это, и если да, то каким образом?
- Это плохая практика?
Если я пойду с этим подходом, то будет то, что у меня одинаковые представления в папке «События» и папке «Поиск», которая не является выключателем сделки, просто пытаясь сохранить ее СУХОЙ. Мне не нужно частичное представление, которое отображает все в представлении, это было бы просто странно. –
Но неужели вы действительно визуализируете все в представлении? Если ничего другого, не будет ли название другим? Я бы также предположил, что если это действительно та же самая страница, почему бы просто не использовать дочернее действие для вызова другой страницы? –
Вы правы, я вполне мог назвать его «События/Поиск» и держать его в одном контроллере. Потому что да, все очень точно. Название является динамическим, как и со всеми моими представлениями, и создается в ViewModel. –