Me encuentro escribiendo mucho código en mis vistas que se parece al código siguiente. En este caso, quiero agregar algo de HTML explicativo para un principiante y HTML diferente para un usuario experto.Lógica de ramificación en una vista MVC
<% if (ViewData["novice"] != null) { %>
some extra HTML for a novice
<% } else { %>
some HTML for an expert
<% } %>
Esta es la lógica de presentación, por lo que tiene sentido que esté en una vista frente al controlador. Sin embargo, se pone muy rápido, especialmente cuando ReSharper quiere mover todos los frenos para hacerlo aún más feo (¿hay alguna manera de desactivarlo para las vistas?).
Mi pregunta es si esto es correcto, o debo ramificar en el controlador a dos vistas separadas? Si hago dos vistas, tendré una gran cantidad de HTML duplicado para mantener.
¿O debería hacer dos vistas separadas con una vista parcial compartida de las cosas que están en común?
Puedo ver la ventaja de esto, pero ¿y si el texto es un marcado HTML complejo, digamos con imágenes y esas cosas? Ahora tienes HTML en tu controlador. Además, gracias por arreglar mi código ejemplo –
Nice lomax mucho mejor. Me gusta. +1 –
Depende de la situación con el texto complejo y de cuánto cambio se requiere, pero no veo por qué no se puede usar el mismo enfoque para representar las partes variables. – lomaxx