Очевидно, что вы хотите избежать вещей, которые являются результатом пользовательских данных, чтобы предотвратить атаки XSS. Поскольку вы часто меняете то, что вы публикуете, а что нет, вы, вероятно, не можете вспомнить все места, которые нужно изменить ... Так что даже если вы сейчас правильно поняли все нюансы, и ваш сайт Защищенный от сценариев XSS сегодня, вы можете в какой-то момент добавить пользовательский ввод в некоторую переменную, которую вы не экранируете (или, скорее, некоторую переменную в некоторую переменную, в какую-то переменную, которую вы не экранируете), что откроет вам XSS атаки.
Экранирование по умолчанию предотвратит эту атаку.
Другая причина более концептуальна: в MVC вся ваша разметка, которая по определению является «представлением», должна быть в ваших шаблонах представлений. Так что, если ваш контроллер определяет представление, а представление содержит всю разметку, почему бы не экранировать ваши переменные?