-1

これを行うことは既知の「問題」です。

sb.AppendLine();

...期待どおりに空白行を追加しません(たとえば、ここで説明したように)。

ただし、これが機能すると一般に信じられています。

sb.AppendLine(Environment.NewLine);

...しかし、それは私にはうまくいきません。私はこのコードを持っています:

for (int i = 0; i < listOfListItems.Count; i++)
{
    sb.AppendLine(Environment.NewLine);
    lc = listOfListItems[i];
    sb.AppendLine(String.Format(@"<p>Request date is {0}; Payee Name is {1}; Remit Address or Mail Stop is {2}; Last 4 of SSN or ITIN is {3}; 204 Submitted or on file is {4}; Requester Name is {5}; Dept or Div Name is {6}; Phone is {7}; Email is {8}</p>",
        lc.li_requestDate, lc.li_payeeName, lc.li_remitAddressOrMailStop, lc.li_last4SSNDigitsOrITIN, lc.li_204SubmittedOrOnFile, lc.li_requesterName, lc.li_deptDivName, lc.li_phone, lc.li_email));
}

すべてのデータが StringBuilder に追加され、次に生成されるフォームに追加されますが、リスト項目間にスペースはありません - 「sb.AppendLine(Environment.NewLine)」は何も追加していません。

個々のリスト アイテムの出力間に強制的に線を引くにはどうすればよいですか?

4

2 に答える 2

9

StringBuilder.AppendLine は、文字列の末尾に \r\n を追加します。StringBuilder.AppendLine(System.Environment.NewLine) のような別のステートメントを明示的に追加する必要はありません。これは、StringBuilder から返された文字列を改行を確認できる文字の配列に変換することでクロス チェックできます。

あなたの例では、HTML で出力を表示しようとしているように見え (文字列の p タグを見て)、HTML に改行が表示されていません。これを実現するために、文字列に br を追加することができます。

sb.AppendLine("<br/>");

キャリッジ リターン (\r\n) は、HTML タグ内では意味がありません。

于 2015-04-09T18:18:39.740 に答える