我有多个DataView Web部件,它们正在从SharePoint 2010中的列表中获取项目。web部件位于子web中,列表中的数据位于根web中。我可以通过指定列表的ID来让这个web部件正常工作:
<dsp:dsQuery select="/list[@id='GUID GOES HERE']" resultContent="Both" resultRoot="Rows" resultRow="Row" columnMapping="Attribute">
然而!我不能使用这种按ID选择列表的方法,因为我将使用导出spweb/导入spweb并将子网站移动到不同的位置(此命令重新分配ID…因此在导出/导入web部件后会中断)。我想做的是通过更明确的方式来选择列表。。。如下所示(不起作用):
<dsp:dsQuery select="/list[@name='LIST NAME GOES HERE']" resultContent="Both" resultRoot="Rows" resultRow="Row" columnMapping="Attribute">
总之,我需要我的dataview web部件使用一个按列表名称而非ID的dsQuery。以前有人这样做过吗?还是我一直在编辑数百个web部件的ID?那太可怕了
感谢您的帮助!
您可以通过将列表GUID更改为列表名称来实现这一点。以下是一个示例:http://salaudeen.blogspot.com/2012/02/how-to-make-dataview-portable.html