在我的 Blazor 服务器端应用程序的 razor.cs 中,我逐行读取错误日志文本文件。在日志文件中,存在使用行缩进编写的 .NET 异常,以便更好地概览。但是,当我在剃刀页面中可视化日志文件内容时,没有显示行缩进,为什么?我可以做什么来显示带有原始行缩进的行?
public List<string> Error_log = new List<string>() { };
public void Read_Logfile
{
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
var lines = File.ReadLines(CommonClass.error_path, Encoding.GetEncoding("Windows-1254"));
var line_trimmed = "";
foreach (var line in lines)
{
TagService.Error_log.Add(line);
}
}
我的剃须刀页面
<table>
@for (int f = 0; f < TagService.Error_log.Count; f++)
{
<tr>
<td class="sys_config_file">@TagService.Error_log[f]</td>
</tr>
}
</table>
您遇到的 Razor 页面中未显示行缩进的问题可能与 HTML 渲染和空白处理有关。默认情况下,HTML 将连续的空白字符折叠成单个空格。
要在呈现的 HTML 中保留文本文件的行缩进,您可以使用标记
<pre>
或应用 CSS 样式来保留空格。以下是如何修改 Razor 页面以保留行缩进的示例:在此示例中,我们添加了一个名为 的 CSS 类
.preformatted
并将其应用于元素<pre>
内的标签<td>
。CSSwhite-space: pre;
属性保留原始文本中的行缩进和其他空白字符。或者,您可以
<pre>
直接使用标签而不使用 CSS 样式:通过使用该
<pre>
标记,行缩进和空白字符将按原样保留在呈现的 HTML 输出中,从而保持文本文件的原始格式。