1

我有以下内容:

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

4 回答 4

7

正如一些评论中提到的,HTML 不尊重换行符\n。你需要<br/>改用。

于 2012-06-19T20:01:01.763 回答
1

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

样品小提琴

于 2012-06-19T20:02:47.933 回答
0

我会尝试做类似的事情

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

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

于 2012-06-19T20:04:42.283 回答
0

你也可以制作成串errors.Append(Enviroment.NewLine);

@Brian in c# new line is not "\n" "\r\n" 是换行符的正确语法:)

于 2012-06-19T20:05:38.487 回答