2014-01-18 42 views
0

基本上我从服务器拉取HTML文件并在浏览器中显示源代码,包括标记。目前,我拉的文件下来,一个流,并将其转换为字符串:将html作为纯文本而不会剥离空白

StreamReader reader = new StreamReader(item.DownloadFile()); 
string raw = reader.ReadToEnd(); 
file.Contents = raw; 

然后

HttpUtility.HtmlEncode(file.Contents); 

其中显示在我看来,使用

@Html.Raw(Model.Contents) 

这工作正常用于显示所有的来源。但是输出是一个单独的文本块,完全没有空白,因此不易读取,这打破了我显示源代码的目的。

如何输出源代码,使缩进和换行符保持机密?

+0

FWIW,你不需要HTML编码的内容,然后使用'@Html。原始'去解码它。 “@ Html.Raw”的目的是实际渲染HTML,默认情况下,Razor会将HTML编码为任何HTML风格的内容,因此您可以执行@ Model.Contents(不需要调用'HttpUtility.HtmlEncode' )并达到相同的结果。 –

回答

1

自动换行代码在

<pre> 
    @Html.Raw(Model.Contents) 
</pre> 

或者使用CSS,添加以下规则:

whitespace:pre;