我有一个安装新页面布局的 SharePoint 功能。
此功能的一个要求是安装带有默认 Web 部件的页面布局,以便当用户运行“创建页面”操作时,会使用页面上已有的 Web 部件创建页面。
因此,我尝试在页面的 Elements 定义中添加一个 AllUsersWebPart 节点,例如。
<Elements>
...
<Module ...>
...
<File ...>
<AllUsersWebPart ...>
...
</AllUsersWebPart>
</File>
...
</Module>
</Elements>
安装、部署了功能等,当然得到了有用的“没有为此对象定义无参数构造函数”错误——我在 Elements.xml 中的定义很可能存在问题。
现在我遇到的真正问题是我尝试从功能定义中删除 AllUsersWebPart 部分(这样创建时页面上没有 Web 部件),并且由于 SharePoint 中的一个奇妙的错误,Web 部件是仍然为页面布局定义,即使功能定义不同 - 我在http://sharepointblog.buus-oestergaard.dk/post/Default-webparts-in-sharepoint-pagelayouts.aspx上找到了一些关于此的详细信息(Point #2)。
我已尝试升级和删除/重新安装该功能,但没有效果 - 如何从功能/内容数据库中删除此 Web 部件,以便我可以让该功能仅安装页面布局或放置正确的 Web 部件定义在功能?