ASP.net MVC Html.Encode - Novas linhas

Html.Encode parece simplesmente chamarHttpUtility.HtmlEncode para substituir alguns caracteres específicos html por suas seqüências de escape.

No entanto, isso não leva em consideração como novas linhas e vários espaços serão interpretados (espaço em branco da marcação). Portanto, forneço uma área de texto para o usuário inserir um bloco de informações em texto sem formatação e depois exibir esses dados em outra tela (usandoHtml.Encode), as novas linhas e espaçamento não serão preservados.

Eu acho que existem 2 opções, mas talvez haja um terceiro melhor que alguém possa sugerir.

Uma opção seria escrever apenas um método estático que usa HtmlEncode e, em seguida, substitui novas linhas na sequência resultante por<br> e grupos de múltiplos espaços com&nbsp;

Outra opção seria mexer com owhite-space: pre atributo nas minhas folhas de estilo - no entanto, não tenho certeza se isso produziria efeitos colaterais quando os métodos auxiliares de HTML incluírem novas linhas e tabulação para tornar a fonte da página bonita.

Existe uma terceira opção, como uma sinalização global, substituição de evento ou método que eu possa usar para alterar como a codificação html é feita sem precisar refazer os métodos auxiliares html?

questionAnswers(5)

yourAnswerToTheQuestion