0

C# コードを使用して HTML タグを生成しました。テキスト領域で正しくレンダリングできます。ググったらこんなの見つけ。HTML タグをテキスト領域に表示するには、'<','>' を HTML エンティティ参照に変換する必要があります。しかし、を使用して置き換えようとするとString.Replace、エラーがスローされます:文字リテラル内の文字が多すぎ ます。

string psHtmlOutput="<html><body><table border='0' cellspacing='3' cellpadding='3'><tr><th> Name </th><th>DomainName</th><th>DomainType</th><th>Defualt</th></tr><tr><td>india.local</td><td>india.local</td><td>Authoritative</td><td>True</td></tr></table></body></html>";

psHtmlOutput.Replace('>','&gt;');
psHtmlOutput.Replace('<','&lt;');

エラー: 文字リテラルの文字数が多すぎます

助けてください; どうすれば進めますか?

4

1 に答える 1

1

String.Replaceメソッドには 2 つのオーバーロードがあります。

  1. sで動作するものString
  2. sで動作するものChar

C# では、単一引用符を使用してCharリテラルを指定します。一重引用符を使用したため、メソッドの 2 番目のオーバーロードが使用されています。ただし、2 番目の引数は&gt;単一の文字ではないため、有効な文字リテラルではありません。

したがって、実際に文字を文字列に置き換えたい場合は、文字列を取るオーバーロードを使用してください。

psHtmlOutput.Replace(">", "&gt;");
psHtmlOutput.Replace("<", "&lt;");
于 2013-09-20T09:35:10.300 に答える