2013-05-08 75 views
0

我有一个asp.net页面。在一个特定的页面上,我可以添加注释,当我添加这些注释时,它们会保存到数据库中。当我想要新行时,当我在后端代码中查看它时,会自动显示“\ n”标记。如何确保我的<br>标签读取为html而不是文本

所以,现在当我收到回复时,我想回复我的评论,但是我希望他们在显示“\ n”的那些特定位置打破空格。

Text = text.replace("\n", "<br/>") 

结果我得到:

my test<br/> test text new line<br/> 

<br>标签得到显示为文本

我在后端代码(CS)尝试这个。

为了澄清我basicly婉实现这一点: Why are my "<br />" tags getting converted to "&lt;br /&gt;"?

不过从C#中的后端代码。

我一直在使用Google,并且一直无法找到答案。

+2

文本是哪个对象的属性?那个面板或TextBox还是什么? – 2013-05-08 08:30:14

+0

文本框,乔恩答案诀窍 – ThunD3eR 2013-05-08 08:38:15

回答

1

在打印之前,您需要创建一个HtmlString与您的内容。所以你的代码就像

var foo = new HtmlString(text.replace("\n", "<br/>")); 

你会打印foo

+0

感谢m8!该死的我的谷歌技能需要提高,这一点很难找到,一旦你知道要搜索什么。 – ThunD3eR 2013-05-08 08:39:27

5

如果您使用的是ASP.NET WebForms,并且您将文本放在Label控件中,则这是正常行为。 Label控件在呈现它之前对其文本进行html编码。

Literal控件不使用html编码,所以如果将Label改为Literal,它应该可以工作。

如果您使用ASP.NET MVC,请尝试使用@Html.Raw(Model.Text)

+0

谢谢!实际上是在考虑用稍后的标签来做同样的事情,所以你可能在这里为我节省了一些时间。 – ThunD3eR 2013-05-08 08:42:36

相关问题