2

我面临以下问题。

我使用文本编辑器允许用户在将数据存储到数据库之前对其进行格式化。

我的问题是从我的数据库中检索数据以将其显示在我的报告(报告查看器)中。数据出现HTML tags在一个非常糟糕的视图中!

如何解决这个问题?

我试过这个方法:

Server.HtmlDecode()

但无济于事

4

3 回答 3

2

一种方法是使用正则表达式删除所有 html 标签:

// I use this static method to make it faster.
private static Regex oClearHtmlScript = new Regex(@"<(.|\n)*?>", RegexOptions.Compiled);

public static string RemoveAllHTMLTags(string sHtml)
{
    if (string.IsNullOrEmpty(sHtml))
         return string.Empty;

    return oClearHtmlScript.Replace(sHtml, string.Empty);
}
于 2012-08-29T20:07:07.227 回答
2

引用:你试过这个方法 Server.HtmlDecode()

根据您所说的,它首先没有编码,因此可以正常工作。您可以使用解码器 utf8Decoder = Encoding.UTF8.GetDecoder(); 使用它或转换为 Unicode。

它仍会出现在报告中,但不会产生您所说的巨大影响。

最好的选择是使用所述的正则表达式。

于 2012-08-29T20:36:58.837 回答
1

您可以尝试使用html 格式的文本框来显示该字段。从问题中不清楚它是否是所需的行为,但这实际上会呈现您的用户输入的一些 html 标签(例如<b>)。它不支持所有标签,但我不能 100% 确定如果它不识别标签会做什么(它可能只是忽略/隐藏它)。

编辑:正如@varg 提醒我对问题的评论,可用性取决于您的 SSRS 版本。

于 2012-08-29T20:07:59.030 回答