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