W moich widokach piszę mnóstwo kodu, który wygląda jak poniższy kod. W tym przypadku chcę dodać jakiś wyjaśniający kod HTML dla nowicjusza i inny kod HTML dla eksperta.Logika rozgałęziania w widoku MVC
<% if (ViewData["novice"] != null) { %>
some extra HTML for a novice
<% } else { %>
some HTML for an expert
<% } %>
To jest logika prezentacji, więc ma sens, że jest w widoku w stosunku do kontrolera. Jednak robi się brzydko bardzo szybko, szczególnie, gdy ReSharper chce przesunąć wszystkie nawiasy klamrowe, aby było jeszcze brzydsze (czy istnieje sposób, aby wyłączyć to dla widoków?).
Moje pytanie brzmi, czy to jest właściwe, czy powinienem rozgałęzić kontroler do dwóch osobnych widoków? Jeśli wykonam dwa widoki, będę miał wiele zduplikowanych plików HTML do zachowania.
Czy powinienem zrobić dwa osobne widoki ze wspólnym, częściowym widokiem rzeczy, które są wspólne?
Widzę zalety tego, ale co, jeśli tekst jest skomplikowanym znacznikiem HTML, powiedzmy obrazkami i podobnymi rzeczami? Teraz masz HTML w kontrolerze. Ponadto, dzięki za naprawienie mojego przykładu kodu –
Lomax Nice znacznie lepiej. Lubię to. +1 –
Zależy od tego, jaka jest sytuacja w przypadku złożonego tekstu i ile zmian jest wymagana, ale nie widzę powodu, dla którego to samo podejście nie może być użyte do renderowania zmiennych części. – lomaxx