C# Razor删除了资源文件中的新行,有没有办法保留它?

C# Razor删除了资源文件中的新行,有没有办法保留它?,c#,asp.net-mvc,razor,C#,Asp.net Mvc,Razor,编辑:我在相关元素中添加了style=whitespace:pre行,这解决了我的问题 我在资源文件中有一个字符串,如下所示: Some text. Some other text. <td>@(Tjuhu.App_GlobalResources.Wie.myLabel)</td> 当我这样使用它时: Some text. Some other text. <td>@(Tjuhu.App_GlobalResources.Wie.myLabel)<

编辑:我在相关元素中添加了style=whitespace:pre行,这解决了我的问题

我在资源文件中有一个字符串,如下所示:

Some text.

Some other text.
<td>@(Tjuhu.App_GlobalResources.Wie.myLabel)</td>
当我这样使用它时:

Some text.

Some other text.
<td>@(Tjuhu.App_GlobalResources.Wie.myLabel)</td>

有什么办法可以解决这个问题吗?

这不是razor的问题,而是您理解HTML如何呈现的问题

可以向标记添加样式属性以保留换行符。这将是最简单的方法

<td style="white-space: pre-line">@(Tjuhu.App_GlobalResources.Wie.myLabel)</td>

或者,您需要通过一种方法来运行文本值,以替换换行符,并用标记替换它们以保留格式。

这不是wirh razor的问题,而是您理解HTML呈现方式的问题

可以向标记添加样式属性以保留换行符。这将是最简单的方法

<td style="white-space: pre-line">@(Tjuhu.App_GlobalResources.Wie.myLabel)</td>
或者,您需要通过一种方法运行文本值以替换换行符,并用标记替换它们以保留格式。

在资源文件中使用标记

在资源文件myLable=这里有一些字符串

在MVC视图中

@Html.Raw(Tjuhu.App_GlobalResources.Wie.myLabel)
在资源文件中使用
标记

在资源文件myLable=这里有一些字符串

在MVC视图中

@Html.Raw(Tjuhu.App_GlobalResources.Wie.myLabel)

字符串中的换行符将写入标记。您将能够在html源代码中看到它们。当然,换行符在HTML中没有语义意义,因此在呈现的页面中看不到它们

您可以做的是在视图中写入 @Html.RawTjuhu.App\u GlobalResources.Wie.myLabel.Replace\n

尽管为它编写一个HtmlHelper扩展方法会更简洁。还要注意,HTML标记具有语义含义。br表示句子中的换行符。因此,根据内容的不同,方法很可能是将字符串拆分,并将拆分的部分放入p标记中


出于对一切美好和恰当事物的热爱:不要将HTML直接放入资源字符串中!混合内容和具体的标记会回来咬你。甚至更糟糕的是,其他人会反过来咬你。

字符串中的换行符会写入标记。您将能够在html源代码中看到它们。当然,换行符在HTML中没有语义意义,因此在呈现的页面中看不到它们

您可以做的是在视图中写入 @Html.RawTjuhu.App\u GlobalResources.Wie.myLabel.Replace\n

尽管为它编写一个HtmlHelper扩展方法会更简洁。还要注意,HTML标记具有语义含义。br表示句子中的换行符。因此,根据内容的不同,方法很可能是将字符串拆分,并将拆分的部分放入p标记中


出于对一切美好和恰当事物的热爱:不要将HTML直接放入资源字符串中!混合内容和具体的标记会回来咬你。或者更糟糕的是,有人反过来会咬你。

我想你可能会用这个,但我不确定。也许用吧?->一些文本。一些其他文本。我想你可能会使用,但我不确定。使用maybe?->一些文本。一些其他文本。你是对的,我刚刚开始学习这个。非常感谢,效果很好=你是对的,我刚刚开始学习这个。非常感谢,效果很好=