编辑:我添加了style =" white-space:pre-line"对于有问题的元素,这解决了我的问题。
我在资源文件中有一个字符串,如下所示:
Some text.
Some other text.
当我像这样使用它时:
<td>@(Tjuhu.App_GlobalResources.Wie.myLabel)</td>
我页面上的输出是
Some text. Some other text.
有没有办法解决这个问题?
答案 0 :(得分:3)
这不是剃须刀的问题,相反,这是您理解HTML呈现方式的问题。
您可以在<td>
标记中添加样式属性以保留换行符。这将是最简单的方法。
<td style="white-space: pre-line">@(Tjuhu.App_GlobalResources.Wie.myLabel)</td>
或者,您需要通过方法运行文本值以替换换行符,并将其替换为<br>
标记以保留格式。
答案 1 :(得分:2)
在资源文件中使用< br/>
标记
myLable="Some string < br /> is here"
中的
在MVC View
@Html.Raw(Tjuhu.App_GlobalResources.Wie.myLabel)
答案 2 :(得分:1)
字符串中的换行符写入标记。您将能够在html源代码中看到它们。当然,换行符在HTML中没有语义含义,因此您无法在呈现的页面中看到它们。 ;)
您可以做的是写入视图
@Html.Raw(Tjuhu.App_GlobalResources.Wie.myLabel.Replace("\n", "<br>")
尽管为它编写HtmlHelper
扩展方法更清晰。另请注意,HTML标记具有语义含义。 br
用于句子中的换行符。因此,根据内容的不同,最好将分割字符串并将拆分部分放入p
标记。
对于所有好的和正确的事物的热爱:不要将HTML直接放入资源字符串中!混合内容和具体标记会回来咬你。或者甚至更糟的是反过来会咬你的人。