Подходящим местом для такого решения является контроллер MVC. Я бы порекомендовал вам сначала написать это там. Если оно действительно повторяющееся, может быть просто выяснить, как его очистить: вы можете переместить условную логику в базовый класс или, в зависимости от языка, справиться с ней с помощью какого-то фильтра. Вы также можете создать «фабрику» для представлений, которая понимает «режим» вашего приложения. Архитектурно, однако, все это в контроллере.
Вы правы, не желая этого в представлении. Это было бы довольно грязно. Вы, вероятно, хотите две версии представлений, одну для «просмотра» и одну для «редактирования».
В конце концов, это то, для чего предназначены контроллеры. Удачи!