在发布网站中,我想创建一个WebPart,该网页显示具有自定义显示器(一种旋转器)的查询结果。

由于Web部分的目标是可重复使用,并且必须简单地由用户配置,因此我想知道以下方法的优缺点是什么:

  • 自定义Web部分以“硬编码”方式生产HTML。添加工具窗格以允许用户设置数据
  • 内容查询Web部分,带有XSLT转换
  • Silverlight Web部分,带有自定义选项窗格的Webpart中的窗格

我觉得第二个解决方案可能会更好,因为WebPart的整个设置已经在这里,但是我担心XSLT会很痛苦。

预先感谢您的反馈

有帮助吗?

解决方案

不要害怕XSLT。这将为您提供巨大的力量,而无需开发或部署任何东西,以付出一些努力才能理解它。我总是建议您从身份转换开始,以便您可以看到即将进入的XML,然后开始添加模板以处理您感兴趣的节点。

Visual Studio具有与XSLT合作的绝佳工具。您可以创建一个具有身份转换的精力XSLT,然后使用它来转换源XML文件(对应于您的列表数据)。然后,您可以在调试模式下启动转换,并断点并跨越XSLT。

话虽如此,在某些情况下,编写自定义网络部分是有道理的。您可能需要CQWP无法做到的东西,或者在某些情况下CQWP解决方案可能非常令人费解。这是您从理解问题中必须决定的。但是,由于XSLT,不要避免CQWP。

其他提示

对于您的情况,即使用自定义显示显示结果,我建议两个选项:

  1. 例如,在客户端转换结果,例如,如果您使用某种旋转器的jQuery插件,则可以使用jQuery初始化旋转器的结果数据。
  2. 扩展CQWP的选项,在这种情况下,您可以自定义结果的渲染,例如,请参阅我的博客 渲染内容查询Web零件在表布局中产生 关于如何在普通旧表布局中排列项目而不是列表布局

扩展Bill(SPDOCTOR)的答案的另一个选择是通过为您的Web部分创建一个从ContentByqueryQueryWebPart继承的新类来扩展CQWP。

这将使您可以在工具台上添加更多选项以控制逻辑,并在XSLT中提供自定义方法,您可以在WebPart的类中为其编写“代码 - 主题”。

Waldek Mastykarz在此网站上的一系列出色的博客文章中介绍了这一点: http://blog.mastykarz.nl/evendending-content-query-web-part-with-custom-data/

许可以下: CC-BY-SA归因
scroll top