为 Sharepoint 创建 Web 部件时,是创建一个实际的 Web 部件更好,还是使用 ASP.NET 用户控件 (.ascx) 更好?
我已经知道如何创建我需要的用户控件,因此创建 Web 部件的额外工作似乎只是不必要的工作。
与仅创建和 ASP.NET 用户控件相比,使用 Web 部件有哪些优势?
为 Sharepoint 创建 Web 部件时,是创建一个实际的 Web 部件更好,还是使用 ASP.NET 用户控件 (.ascx) 更好?
我已经知道如何创建我需要的用户控件,因此创建 Web 部件的额外工作似乎只是不必要的工作。
与仅创建和 ASP.NET 用户控件相比,使用 Web 部件有哪些优势?
除了最简单的 Web 部件之外,我是用户控件的忠实粉丝。我创建了一个实例化并加载用户控件的 web 部件。您可以使用其他工具来公开您的用户控件,例如 smartpart,但我建议您自己包装它,因为它是一个很好的学习体验。一旦你完成了一次,你基本上就拥有了一个你想要创建的任何其他 webpart 的模板。
祝你好运!
必须将裸 ASP.NET ascx 控件添加到自定义布局页面。这会稍微限制控件的实用性,因为它不能“在任何地方”添加。
拥有 Web 部件可以灵活地将控件添加到站点中,在不同的位置多次,甚至在具有不同属性的同一页面上多次添加。
正如已经提到CreateChildControls()
的,在 web 部件中创建控件是很好的,并且将 web 部件编码和打包到解决方案中并不是什么大不了的事情,因此值得付出额外的努力。
Webparts 还能够接受来自同一页面上的“过滤器”webparts 的连接,与在站点上托管 ascx 控件相比,为 webparts 提供了更大的灵活性。
对于使用该站点的编辑器而言,与编辑页面布局、发布它然后基于该页面布局创建页面相比,他们能够添加 Web 部件有很大的不同,所以从站点的角度来看编辑器,可用性上的差异确实很大。
我建议更进一步,对 webpart 进行编码以使用 xslt 文件来显示内容,并使 xslt 的位置成为 webpart 的可配置属性。这确实增加了您控制的灵活性。
查看 Dataview Webpart,了解添加自定义渲染可以完成多少工作。