Mi ritrovo a scrivere molto codice nelle mie visualizzazioni che assomiglia al seguente codice. In questo caso, voglio aggiungere un codice HTML esplicativo per un principiante e un codice HTML diverso per un utente esperto.Logica di ramificazione in una vista MVC
<% if (ViewData["novice"] != null) { %>
some extra HTML for a novice
<% } else { %>
some HTML for an expert
<% } %>
Questa è la logica di presentazione, quindi ha senso che sia in una vista rispetto al controller. Tuttavia, diventa brutto molto velocemente, specialmente quando ReSharper vuole spostare tutte le parentesi per renderlo ancora più brutto (c'è un modo per disattivarlo per le viste?).
La mia domanda è se questo è corretto, o dovrei diramazione nel controller a due viste separate? Se faccio due viste, avrò un sacco di HTML duplicato da mantenere.
O dovrei fare due viste separate con una vista parziale condivisa delle cose che sono in comune?
Riesco a vedere il vantaggio di questo, ma cosa succede se il testo è un codice HTML complesso, ad esempio con immagini e altro? Ora hai HTML nel tuo controller. Inoltre, grazie per aver corretto il mio esempio di codice –
Nice lomax molto meglio. Mi piace. +1 –
Dipende dalla situazione in cui si trova il testo complesso e quanta modifica è richiesta, ma non vedo perché lo stesso approccio non possa essere utilizzato per il rendering delle parti variabili? – lomaxx