我正在尝试创建一个页面布局,它应该有一个查找字段。查找字段应始终填充列表的项目。
此列表将存在于所有子网站中,因此,无论何时创建此页面,列表都应填充当前网站的列表项。
我尝试使用网站列查找字段,但它始终指向顶级网站下的列表,而不是当前网站。
有关如何使其工作或更好的替代方案的任何建议?谢谢!
如果我能提供更多信息,请告诉我。
答案 0 :(得分:0)
我能想到的最简单的解决方案是使用跨站点查找列并为每个子站点创建单独的字段。但是,您需要为每个子网站创建和使用不同的页面布局。
您可以使用http://sp2010filteredlookup.codeplex.com/进行跨网站查找。
答案 1 :(得分:0)
解决方案1 - 使用http://sp2010filteredlookup.codeplex.com/
使用过滤的查找解决方案。因此,假设您拥有自定义页面布局和自定义页面内容类型。 每次创建新的子网站时,都应该记住通过添加跨站点查找(使用相同的字段“内部名称”)转到页面列表设置并编辑页面内容类型。 所以你仍然有一个页面布局(和一个内容类型)。但是对于每个页面库实例,内容类型包含diff字段(但具有相同的内部名称)。它将允许您运行CAML查询和其他所需的东西,没有任何问题。
解决方案2 - 开发自定义共享点字段类型。
在编辑模式下,控件将呈现“下拉列表”并从当前子网站上的列表实例中填充数据。在字段设置中,您可以拥有相对列表网址。
解决方案3 - 隐藏文字字段/ js代码段解决方案
页面内容类型可以包含隐藏文本字段(例如,它可以包含json格式的选定字段值)。开发将处理所有逻辑的js片段(以编辑/查看模式呈现,保存等)并将其放在页面布局(aspx)上。
我建议使用解决方案#1或#2。