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

Asp.net 如何在div中显示.NET字符串并包含换行符?,asp.net,html,Asp.net,Html,我有一个列表视图,在ItemTemplate中执行类似的操作: <div><%# Eval("QualificationDescription") %></div> 我的问题是QualificationDescription中有换行符,如果我把它放在文本框中,它会显示它们,但如果我把它放在div中,它不会。是否仍然可以在div中显示换行符?换行符必须在div中呈现为标记(更具语义的解决方案是将所有断开的文本片段包装在标记中。) 您最好的选择是提出一个简单

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

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


我的问题是QualificationDescription中有换行符,如果我把它放在文本框中,它会显示它们,但如果我把它放在div中,它不会。是否仍然可以在div中显示换行符?

换行符必须在div中呈现为

标记(更具语义的解决方案是将所有断开的文本片段包装在
标记中。)


您最好的选择是提出一个简单的ViewModel,它将
\n
转换为

,或者使用段落解决方案。

我要做的是调用DataBind()事件,然后添加一个ItemDataBound,然后创建一个新的文本,然后在文本中添加限定描述


然后在aspx页面中,将div改为,然后给出描述。InnerText为文字

或者将换行符替换为“
\r
\r\n

”,或者使用
pre
标记而不是div.

我同意Pierreten,用

标记替换换行符的方法是一个很好的选择。另一种可能是在div中使用
标记。这将指示浏览器应将内容呈现为预格式化,并在标记内容中显示换行符。

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

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

代码隐藏:

受保护的静态字符串AddLineBreaks(对象QualdDescription){
if(qualDescription==null){
返回“”;
}
返回qualDescription.ToString().Replace(Environment.NewLine,“
”); }