В зависимости от того, кого вы спросите, вы получите разные ответы. Мне лично нравится вариант № 2, так как я хочу, чтобы ViewData были необработанными данными и выбирал способ их отображения в представлении. Для меня это совершенно нормально делать в представлении, поскольку это проблема представления.
Тем не менее, я знаю людей из моей собственной команды, которые не согласны со мной, предполагая, что контроллер возвращает модель представления , а не просто модель (я тоже согласен с этим), и она должна справиться все эти преобразования перед отправкой модели на просмотр. Вид в этом случае должен быть очень тупым.
Не думаю, что в этом случае для всех найдется один правильный выбор. Я бы сказал, выбрать один или другой на основе вашего опыта и придерживаться его.