")" />

.Replace(Environment.NewLine, "
")

发布于 2024-10-17 11:16:14 字数 206 浏览 1 评论 0 原文

为什么 .Replace(Environment.NewLine, "
")
给出这个结果:

asdasd<br />waahahahaha<br />asdadsa<br />multiline<br /><br /><br />asdad

Why does .Replace(Environment.NewLine, "<br />") give this result:

asdasd<br />waahahahaha<br />asdadsa<br />multiline<br /><br /><br />asdad

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

难得心□动 2024-10-24 11:16:14

可能是因为“multiline”和“asdad”之间多了一个新行。

示例

var someText = string.Format("First line{0}Second line{0}Multiple line breaks{0}{0}{0}some text", Environment.NewLine);

var html = someText.Replace(Environment.NewLine, "<br />");

html 现在如下所示:

First line<br />Second line<br/>Multiple line breaks<br /><br /><br />some text

编辑

在您的情况下,您的网页将在网络浏览器中显示
并且不创建新行,因为它对 html 输出进行编码。

您需要做的是使用 HtmlString,尝试以下操作:

<div class="display-field">
    <%: new HtmlString(Model.Body.Replace(Environment.NewLine, "<br />")) %>
</div>

另请参阅 StackOverflow 上的此线程,讨论 “ASP.NET MVC Razor - 输出非转义 HTML 字符串”

Probably because there are more than one new line between "multiline" and "asdad".

Example

var someText = string.Format("First line{0}Second line{0}Multiple line breaks{0}{0}{0}some text", Environment.NewLine);

var html = someText.Replace(Environment.NewLine, "<br />");

html will now look like this:

First line<br />Second line<br/>Multiple line breaks<br /><br /><br />some text

Edit

In your case your web page will display the <br /> in the web-browser and not create a new line because it encodes the html output.

What you will need to do is use HtmlString, try this:

<div class="display-field">
    <%: new HtmlString(Model.Body.Replace(Environment.NewLine, "<br />")) %>
</div>

Also see this thread here on StackOverflow talking about "ASP.NET MVC Razor - output HTML string non escaped".

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文