【问题标题】:Retrieve text from database and format it on the front end of the website从数据库中检索文本并在网站前端对其进行格式化
【发布时间】:2013-08-30 19:55:33
【问题描述】:

我有一些文本当前作为 nvarchar 存储在我的数据库表中。 我目前正在使用存储过程检索文本并将其绑定到前端网格视图中的文字。

我想做的是检索文本然后格式化它,比如插入行空格并制作 某些区域加粗。有可能这样做吗?谁能告诉我如何做到这一点?

让我印象深刻的一个想法是在存储文本时使用 XML。但即使我这样做了,我如何将文本的某个部分加粗并包含行空格。

所以目前,我的文本存储在数据库表列 nvarchar(max) 中为:

This is the heading this is the content

我想做的是在 gridview 中显示上述内容,例如:

**This is a Heading** (heading in bold)
 This is the content

【问题讨论】:

  • 您必须使用一个字符串吗?您不能将返回的字符串拆分为单独的标题和内容字符串吗?
  • 一个真的很酷的方法,可以将文本作为html插入数据库中......
  • 我的 2c:我不会将它作为 HTML 存储在数据库中,因为您总是希望在 不 需要 HTML 而您的上下文中使用它需要剥离它。
  • @Plymouth223 - 你会如何处理它? SqlSamurai 可以将 html 和非 html 值存储在单独的字段中,但这需要在任何一个更改时同步两者。
  • @davids 我将存储为 XML 并使用 XSLT 对其进行转换,这意味着您可以在 SQL 和 .NET 中本地解析它

标签: c# asp.net sql-server xml sql-server-2008-r2


【解决方案1】:

最简单的方法(我用过好几次了)就是把html存储在表格中,如下所示:

<h1>This is the heading</h1>This is the content

您必须为使用 html 添加特殊处理,但它工作得很好。

您还可以将标题字符串存储在一个字段中,将正文存储在另一个字段中。

除此之外,您还必须有一些指示符告诉前面字符串的哪一部分应该加粗,等等,这可能会变得非常复杂

【讨论】:

    【解决方案2】:

    简短的回答是这是可能的,但需要一些工作。

    在将文本输入数据库之前,您首先需要决定以什么格式存储数据以及如何在客户端指定格式。

    如果您有用于文本 - html 转换的 WYSIWYG 编辑器,您可以尝试存储 HTML。就存储而言,这将是最简单的方法。

    如果您决定使用此方法,请注意您需要在服务器上进行大量验证以避免跨站点脚本攻击。简而言之 - 确保您在服务器上获得的 HTML 不包含任何 javascript 或任何标签,除了您想要支持的那些。

    【讨论】:

      【解决方案3】:

      最好使用AJAX Toolkit的编辑器,不需要任何其他东西,它是一个完整的编辑器,你甚至可以为你的字体着色。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-08-10
        • 1970-01-01
        • 2011-08-11
        • 2015-02-21
        • 1970-01-01
        相关资源
        最近更新 更多