Nella mia app ho bisogno di caricare la stessa vista da due diversi controller senza posizionare la vista nella directory delle viste condivise.Asp.net MVC - Posso caricare una vista da una cartella di visualizzazione diversa?
Fondamentalmente ho questa struttura di cartelle
- Controller
- EventsController.cs
- SearchController.cs
- Visite
- Eventi
-
.210
- Preview.aspx
- Ricerca
- Eventi
fondamentalmente Picture It molto simile a quello qui in caso di overflow dello stack. Si ottiene un'anteprima di un gruppo di domande sotto il collegamento alle domande, ma si ottiene anche una pagina formattata in modo identico quando si esegue una ricerca nella barra di ricerca. Le viste e i modellini visivi sono presumibilmente identici.
Poiché la vista che mi serve per la ricerca è esattamente la stessa della vista di cui ho bisogno per gli eventi, mi piacerebbe riutilizzare la stessa vista. Vorrei comunque evitare di utilizzare la directory condivisa per questa vista specifica.
Quindi la mia domanda a due parte è ---
- questo è possibile, e se sì, come?
- Questa cattiva pratica?
Se seguo questo approccio, sarà che ho delle viste identiche nella cartella Eventi e nella cartella Cerca, che non è un interruttore automatico, solo cercando di tenerlo ASCIUTTO. Non ho bisogno di una vista parziale che renda tutto nella vista, sarebbe semplicemente strano. –
Ma stai davvero rendendo tutto nella vista? Se non altro, il titolo non sarebbe diverso? Suggerirei anche che se è veramente la stessa pagina, perché non usare semplicemente un'azione figlio per chiamare l'altra pagina? –
Hai ragione, potrei benissimo chiamarlo "Eventi/Ricerca" e tenerlo nello stesso controller. Perché sì è tutto molto identico. Il titolo è dinamico, come lo è con tutte le mie viste, ed è generato nel ViewModel. –