我正在建立一个电子商务网站。当用户将意大利面的列表复制到“描述”文本区域时,我需要能够在<p>
标记内以这种方式显示它。现在,它们混杂在一起。我已尝试使用替换方法将换行符替换为<br/>
,但它会显示<br/>
,就好像它是字符串的一部分一样。我确定这并不难,我只是很难找到答案。
以下是我视图中的代码:
<p id="description"><%: Model.Description.Replace(Environment.NewLine, "<br/>") %></p>
在我的控制器中,我只是将编码后的字符串保存在我的数据库中,然后将其抓出并按原样传递给视图。
答案 0 :(得分:2)
您需要使用正则表达式。如果你用javascript做这个,你可以试试这个
value = value.replace(/\n/g, '<br />');
这意味着,在字符串中查找新行字符的所有实例,并将其替换为html换行符。
答案 1 :(得分:0)
<br/>
显示为文本,因为控件的内容会自动进行html编码。
使用Literal
控件显示列表,然后不会对html标记进行编码,<br/>
将显示为换行符。
请记住,显示来自用户的未编码数据可能很危险。 (脚本攻击)