AppendLine没有插入新行?

时间:2012-06-19 19:56:08

标签: c# asp.net stringbuilder

我有以下内容:

StringBuilder errors = new StringBuilder();

if(IsNullOrEmpty(value))
{
errors.AppendLine("Enter value");
}

if(IsNullOrEmpty(value2))
{
errors.AppendLine("Enter value 2");
}

我希望这会显示:

Enter value
Enter value 2

但它显示:

Enter value Enter value 2

我也尝试过:AppendFormat("Enter value{0}",Environment.NewLine);

以及\n字符。

错误字符串输出到asp:Label,如:

lblErrors.Text = errors.ToString();

4 个答案:

答案 0 :(得分:7)

正如一些评论中所提到的,HTML不尊重新行字符\n。您需要改为使用<br/>

答案 1 :(得分:1)

如果您想保留所有格式(包括标签,连续的空格等),可以将white-space:pre样式应用于标签或使用html pre element

Sample fiddle

答案 2 :(得分:0)

我会尝试做类似

的事情
if(value.Empty == null){
   errors.AppendLine("Enter Value");
}

通过您显示的代码,它似乎不会进入if语句。

答案 3 :(得分:0)

in to string u也可以errors.Append(Enviroment.NewLine);

c#new line中的@Brian不是“\ n”“\ r \ n”是新行字符的正确语法:)