我需要用一个带有html标签的环境替换environment.Newline

时间:2011-09-26 17:14:19

标签: html asp.net-mvc textarea

我正在建立一个电子商务网站。当用户将意大利面的列表复制到“描述”文本区域时,我需要能够在<p>标记内以这种方式显示它。现在,它们混杂在一起。我已尝试使用替换方法将换行符替换为<br/>,但它会显示<br/>,就好像它是字符串的一部分一样。我确定这并不难,我只是很难找到答案。

以下是我视图中的代码:

<p id="description"><%: Model.Description.Replace(Environment.NewLine, "<br/>") %></p>

在我的控制器中,我只是将编码后的字符串保存在我的数据库中,然后将其抓出并按原样传递给视图。

2 个答案:

答案 0 :(得分:2)

您需要使用正则表达式。如果你用javascript做这个,你可以试试这个

value = value.replace(/\n/g, '<br />');

这意味着,在字符串中查找新行字符的所有实例,并将其替换为html换行符。

答案 1 :(得分:0)

<br/>显示为文本,因为控件的内容会自动进行html编码。

使用Literal控件显示列表,然后不会对html标记进行编码,<br/>将显示为换行符。

请记住,显示来自用户的未编码数据可能很危险。 (脚本攻击)