MVC Просматривает вывод в поток ответов через объект HtmlTextWriter в HttpContext. Итак, один из способов выполнить вашу задачу - заменить существующий объект HttpContext новым, который содержит HtmlTextWriter, который выводится в StringBuilder, а не в поток ответа.
Это довольно просто, если немного сложнее, и подробно рассматривается в этом сообщении в блоге: http://andrewlocatelliwoodcock.com/2011/04/28/capturing-the-output-of-a-view-as-a-string/
Я успешно использовал эту технику для захвата результатов просмотра при отправке в браузер.
Не забывайте: если вы действительно хотите увидеть представление, после того как вы захватили вывод, вам также нужно будет записать его в поток ответов ...