0

我已经通过 C# 代码生成了一个 HTML 标记。我能够在文本区域中正确呈现。当我用谷歌搜索它时,我发现了这个。要在文本区域中呈现 HTML 标签,我们需要将 '<','>' 转换为 HTML 实体引用。但是当我试图替换 using 时String.Replace,它会抛出一个错误:Too many characters in character literal

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方法有两个重载:

  1. Strings 进行操作的一种。
  2. Chars 进行操作的一种。

在 C# 中,单引号用于指定Char文字。因为您使用了单引号,所以使用了该方法的第二个重载。但是,您的第二个参数不是有效的字符文字,因为&gt;不是单个字符。

所以如果你真的想用字符串替换字符,只需使用带字符串的重载:

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