text-files - 在我的 Blazor 服务器端应用程序中,我逐行读取文本文件。但是当我可视化 Razor 页面中的线条时,线条缩进没有显示。为什么?

标签 text-files blazor-server-side text-indent

我是 Blazor 服务器端应用程序的 razor.cs,我逐行读取错误日志文本文件。在日志文件中,存在使用行缩进编写的 .NET 异常,以便更好地概览。但是,当我在 Razor 页面中可视化日志文件内容时,没有显示行缩进,为什么?我可以做什么来显示带有原始行缩进的行?

Log text File Content 我的 razor.cs 页面

 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);
   }
 }

我的 Razor 页面

<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 页面以保留行缩进的示例:

<style>
    .preformatted {
        white-space: pre;
    }
</style>

<table>
    @for (int f = 0; f < TagService.Error_log.Count; f++)
    {
        <tr>
            <td class="sys_config_file"><pre class="preformatted">@TagService.Error_log[f]</pre></td>
        </tr>
    }
</table>

在此示例中,我们添加了一个名为 .preformatted 的 CSS 类。并将其应用到 <pre> <td> 内的标签元素。 white-space: pre; CSS 属性保留原始文本中的行缩进和其他空白字符。

或者,您可以使用 <pre>直接标记,无需 CSS 样式:

<table>
    @for (int f = 0; f < TagService.Error_log.Count; f++)
    {
        <tr>
            <td class="sys_config_file"><pre>@TagService.Error_log[f]</pre></td>
        </tr>
    }
</table>

通过使用<pre>标记时,行缩进和空白字符将按原样保留在呈现的 HTML 输出中,从而保持文本文件的原始格式。

关于text-files - 在我的 Blazor 服务器端应用程序中,我逐行读取文本文件。但是当我可视化 Razor 页面中的线条时,线条缩进没有显示。为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76922607/

相关文章:

.net - 使用 .NET 将数据加载到 ORACLE 数据库的最快方法是什么?

python - 修改文件文本

C++从文本文件中读取 double

c# - ASP.NET Core 应用程序不从输出目录中读取 appsettings.json,而是从项目一中读取

html - 使用 CSS 隐藏屏幕阅读器的内联文本会影响 SEO 吗?

c++ - 在 native Windows 应用程序的资源中嵌入文本文件

Blazor:包含主页脚本和样式的最佳方式是什么?

c# - Blazor 组件 (Radzen) 中的 OnAfterRender OnAfterRenderAsync

css - IE6/7 链接重叠+文本缩进

vim - 如何在 vi 或 vim 中多次缩进一行?