Sharepoint - 您可以从数据库中输出未过滤的 HTML 吗?

Posted

技术标签:

【中文标题】Sharepoint - 您可以从数据库中输出未过滤的 HTML 吗?【英文标题】:Sharepoint - Can You Output Unfiltered HTML from a Database? 【发布时间】:2010-10-20 15:28:51 【问题描述】:

我们的客户要求使用 Sharepoint,当然,我们必须实现 Sharepoint 并非真正设计的功能。我们首先尝试尽可能地扩展内部 Web 部件,因此我们在 MSSQL DB 中的存储过程、用户定义函数和自定义视图方面做了大量工作。

我正在从数据库中的字段生成 html 链接,并希望在数据视图 Web 部件之类的东西中显示它们。当然,正在显示的所有数据都经过过滤,以便显示为未呈现的 HTML。有没有办法解决这个问题?

或者,是否有任何类型的 Web 部件可以连接到另一个 Web 部件或数据源并显示来自该源的未过滤文本/html?

【问题讨论】:

【参考方案1】:

您需要在 dataview webpart 中使用 XSLT 来控制呈现。 您可以完全控制创建的 html。 disable-output-escaping 如有必要。

【讨论】:

谢谢 Nat,我相信这解决了我的直接问题,并感谢您抽出宝贵的时间来链接它。我能够让我的初步页面工作。 甜蜜。 w3schools 很好,但要注意它们不区分 xslt 2.0 和 1.0 调用。 SharePoint 仅支持 1.0 注意 Nat 是一个很好的区别。据我所知,“数据视图”Web 部件只是一个 XSLT 容器,恰好可以访问它所连接的数据连接的数据集。如果您愿意,您可以完全删除任何自动生成的 XSLT/HTML 并创建自己的,将其变成可以在 XSLT 框架内执行任何操作的通用 Web 部件。【参考方案2】:

我感觉您以错误的方式自定义 SharePoint。要么你我真的不明白你的问题的描述。如果您能更详细地说明您想要完成的工作,我将不胜感激。

据我所知,您绝不应该直接接触 SharePoint 数据库。我认为您应该专注于创建列表、字段类型、WebPart 以及您可能需要的任何 SharePoint 组件;而不是在内容数据库中乱七八糟。

SharePoint 有一个不错的开发 API。学习需要一些时间,但最终它可能是值得的。

您可以在 SharePoint 中连接您自定义的 WebPart,这里是 sample.

【讨论】:

啊,抱歉。我们从一个单独的数据库中的大量数据中驱动。是的,我们永远不想碰 SP 数据库。假设我们有一个 [Foo] 表和一个 Foo.aspx 页面,我们可以访问它“Foo.aspx?FooID=2”以显示有关具有给定 FooID 的 Foo 条目的信息。我们有第二个表 [Bar],每个 Bar 都与具有 FooID 外键的 Foo 相关联。我们希望生成一个指向每个 Bar 页面(即 /pages/Bar.aspx?BarID=2)的超链接列表,这些超链接将被呈现为实际的超链接。 通过一些非常短的用户定义函数很容易让 Bar 表查询还包括超链接本身已经以适当的 HTML 呈现的额外字段。当然,当我尝试在数据视图中显示这些新列中的链接时, 标签被转义,你看到的只是原始 HTML 我看到了一些基于 dataview webpart 的非常时髦的 javascript 图表渲染。如果你有时间,可以变得很酷。

以上是关于Sharepoint - 您可以从数据库中输出未过滤的 HTML 吗?的主要内容,如果未能解决你的问题,请参考以下文章

我可以在 ScriptEditor、SharePoint 中使用 Json 吗?

在 Sharepoint 2013 中启用 CORS

Sharepoint WebPart 数据源

SQL 扩展属性和 BCS Sharepoint 2010

Sharepoint 2010添加,编辑,删除表单替换为自定义可视Web部件

从网站直接保存到 SharePoint Online