Sharepoint:使用“兼容”用户界面显示非 Sharepoint 内容列表的最佳方式?

Posted

技术标签:

【中文标题】Sharepoint:使用“兼容”用户界面显示非 Sharepoint 内容列表的最佳方式?【英文标题】:Sharepoint: Best way to display lists of non-Sharepoint content with "compatible" UI? 【发布时间】:2010-09-09 16:45:18 【问题描述】:

我为 Sharepoint 构建了一个从外部服务检索数据的 Web 部件。我想以与 Sharepoint 的 UI 兼容的方式显示项目(适合其周围环境。)

我知道“DataFormWebPart”,但无法使其正常工作。它需要一个有效的数据源,而我无法从 Web 服务调用的结果中构建一个……部分问题是我的 Web 服务包装器没有公开 XML 返回信息,而是我有一堆反序列化的对象.似乎没有一种简单的方法可以将实际对象转换为数据源,或从对象数据填充“通用”数据源。

我可以使用 SPGridView 来获得相同的 UI,但是网格控件没有太多的智能方式 - 并且 - 它强制每个字段进入自己的列。我更喜欢将每个列表项呈现为具有复杂渲染的单个单元格(例如 *** 显示其问题列表的方式。)我还希望获得尽可能多的 Sharepoint 标准 UI,例如排序、过滤和分页控件。

那么,首先:这里有没有人写过一个 Sharepoint 控件来做这件事,如果有,你有示例代码可以分享吗?如果不是:我是否忽略了一些有用的控件,无论是 MS 提供的还是外部库中可用的?

谢谢! 史蒂夫

【问题讨论】:

【参考方案1】:

Sharepoint:显示列表的最佳方式 的非 Sharepoint 内容 “兼容”用户界面?

看看内置的 sharepoint web 控件:

Microsoft.SharePoint.WebControls Namespace

它包含了sharepoint 中使用的所有控件。我会告诉你更多,但文档非常详尽。

【讨论】:

【参考方案2】:

SharePoint 的问题是有很多不同的方法可以做到这一点。如果您的数据不是经常更改并且不是太大,则可能值得考虑将其输入到列表中进行显示。 如果您拥有 Enterprise 许可证,则可能值得将您的数据放入 BDC 并在那里使用它。 您可能必须将对象转换为 xml 或使用带有 XML Webpart 的序列化对象进行显示。这仍然存在使用 XSLT 进行自定义呈现的问题。

【讨论】:

谢谢纳特。外部数据很大(外部搜索结果),因此无法将其保留为新列表。我们是一个 SharePoint 插件,因此我不能保证 BDC 在所有安装中都可用。我想我对你的建议有点不走运,但我很感激你的回答!【参考方案3】:

这是一篇很棒的文章,介绍了如何使用 BDC 定义编辑器配置 BDC 与 Web 服务的连接:

使用业务数据目录定义编辑器创建 Web 服务连接 http://msdn.microsoft.com/en-us/library/bb737887.aspx

【讨论】:

不幸的是,我需要一些不同的东西:我正在构建一个需要显示 Web 服务调用的实时结果的 Web 部件 - 它不是常规搜索结果的一部分。不过谢谢,对于我正在处理的涉及修改搜索页面的其他事情,这是一个非常有用的链接!【参考方案4】:

执行此 IMO 的最佳方法是制作 Web 部件。作为 Web 部件,UI 将自动呈现为与站点使用的主题相同(除非您覆盖它),并且任何具有管理员权限的人都可以将其放置在任何地方。

Tutorial on making a Web Part Tutorial on packaging and deploying a Web Part Example Web Part Source Code

【讨论】:

感谢您的回答。但这是我已经采取的介绍性步骤。我的问题更进一步;我有一个现有的 Web 部件,需要向它添加一个列表。似乎没有简单的方法来创建我需要的那种 Web 部件 - 但我会深入你的网站并看看!【参考方案5】:

您可以创建自定义 Web 部件并使用 SPGridView。您说您不喜欢它,因为它强制每个字段进入自己的列,但事实并非如此。您可以为每一列创建一个模板 (ITemplate) 并完全自定义其中显示的内容,就像使用普通的 ASP.Net GridView 一样。使用这种方法,我在列表项的标题旁边添加了小的“新”图像,就像 SharePoint 本身一样。

【讨论】:

以上是关于Sharepoint:使用“兼容”用户界面显示非 Sharepoint 内容列表的最佳方式?的主要内容,如果未能解决你的问题,请参考以下文章

非 SharePoint 页面上的资源管理器视图

在 SharePoint 2010 中覆盖 X-UA 兼容元

如何在sharepoint中调试

powershell SharePoint PowerShell脚本,用于显示站点的用户和用户角色

在SharePoint 2013中显示“以其他用户身份登录”

SharePoint 修改用户属性User Name