如何在div中显示.NET字符串并包含换行符?

时间:2010-09-14 21:41:16

标签: asp.net html

我有一个列表视图,它在ItemTemplate中执行类似的操作:

<div><%# Eval("QualificationDescription") %></div>

我的问题是QualificationDescription中有换行符,如果我把它放在TextBox中它会显示它们但是如果我把它放在div中则不会。反正有没有在div中显示换行符?

5 个答案:

答案 0 :(得分:0)

换行符必须在div中呈现为<br/>标记(更多的语义解决方案是将所有损坏的文本片段包装在<p>标记内。)

您最好的办法是提出一个简单的ViewModel,将\n转换为<br/>,或者使用段落解决方案。

答案 1 :(得分:0)

我要做的是调用DataBind()事件然后添加一个ItemDataBound,然后创建一个新的文字,然后添加到文字的文本中添加QualificationDescription

然后在aspx页面中将div更改为,然后将description.InnerText作为文字

答案 2 :(得分:0)

将换行符\n \r \r\n替换为<br/>或使用pre代码而不是div。

答案 3 :(得分:0)

我同意Pierreten的观点,用<br />标签替换换行符的方法是一个不错的选择。另一种可能性是在div中使用<pre>标记。这将表明浏览器应该将内容呈现为预先格式化,并在标记的内容中显示换行符。

答案 4 :(得分:0)

您可以使用以下代码执行此操作

  <div><%# AddLineBreaks(Eval("QualificationDescription")) %></div>

代码隐藏:

protected static string AddLineBreaks(object qualDescription) {
    if (qualDescription == null) {
        return "";
    }
    return qualDescription.ToString().Replace(Environment.NewLine, "<br/>");
}