0

我们有一个生成报告的服务(使用 word 模板和第 3 方库),然后返回 HTML 中的字符串。虽然这个 HTML 不是很好 - 它在这个字符串中的格式正确。

我们希望此 HTML 显示在页面上 - 格式完整。我们目前所做的是将 ASP.net Literal 的文本元素设置为该字符串。

虽然这可行,但我注意到它已经稍微重新格式化了 HTML 字符串。在大多数情况下,它看起来像是在 HTML 中生成了一堆新的 CSS 类和一个新的样式元素。返回的字符串中不存在此 HTML。我可以过滤掉所有这些,但想知道是否有更好的方法。

我假设页面本身正在改变一些东西。

将这个原始 HTML 显示给用户的最佳方式是什么?我不能直接使用 Response.Write(string),因为这个页面上确实有一些其他控件。

4

3 回答 3

0

这是我自己的错误,第三方库的设置。在它与 CSS 混淆之前,我正在保存我的比较页面。不过,感谢您提供有用的答案-我以为我疯了!

于 2010-06-16T13:13:30.253 回答
0

文字控件不格式化它们的文本值(AFAIK),所以我猜它是别的东西。可能是一个响应过滤器(Request.Filter)可能会改变页面输出?另一种可能性可能是包含控件可能会在其自定义呈现中更改其子控件(即您的文字)的值。

于 2010-06-16T12:32:52.743 回答
0

我没有听说过 Literal 控件的行为方式与您描述的方式相同,并且在我使用它时也没有看到它的行为方式,但我之前没有尝试过以这种方式输出 html。
另一种方法是将 html 分配给您的代码隐藏文件中的公共页面属性,然后在您的 aspx 文件中使用服务器端脚本标记来显示此属性的内容:

<%=HTMLString %>
于 2010-06-16T12:27:39.187 回答