SharePoint要在master page中动态显示List数据的几种方式
我们都知道,在SharePoint中,Content page继承自Page layout,而Page layout又继承自Master page。Master page的作用大家都知道,它定义了站点的的整体外观和公共元素,因此有了很强的页面重用性和很好的页面编辑体验,Page layout通过ContentPlaceHolder为一些内容相似性很强的页面进行了布局,所以到了Content page那里,我们所做的只是放我们每个页面想要显示的内容即可,剩下的布局和样式都可以不用操心了。
好了,前面算是开场白吧!现在我们正式说重点,先从需求说起,客户要求整个站点的Footer部分要求从站点的List里面动态读取数据来生成它,而不是写死在master page里面,例如下面的图示,也就是说客户希望将来他们可以通过维护一个List数据来动态更新站点的Footer部分,附加排序,是否显示等功能,都有List里面的某个字段来控制,而不再需要有IT人员去更新了。
对于这个需求,我们可以有如下几种实现方式:
(一) 首先想到的是写一个Customized User Control,通过调用Object Model来呈现数据。部署完了dll以后,需要在Master Page里注册引用,然后才能去使用它,这里不再多说具体过程。这种方法好是好,但是不易维护,如果有任何逻辑改动,还需要重新部署dll到服务器端,很多时候不是很方便。
(二) 第二种方式是借助于Content Query Web Part,有人会说Master Page里面可以放Web part吗?动态的web part是不能加到Master page里的,因为Master page的内容是不允许从页面上修改的,但是我们可以放静态的web part,所谓静态的就是说web part不在web part zone里面。具体步骤如下:
1. 先建一个临时的测试页面,添加一个Content Query Web Part, 然后配置web part,如数据源,过滤条件及排序等属性。
2. 用SPD将次页面跟layout分离,然后打开它,找到相应的web part zone,我们发现zone里面是一个<PublishingWebControls:ContentByQueryWebPart>,其实它就是一个控件,将此控件拷贝出来放到Master page相应的html元素中即可,注意不要web part zone。
3. 更新List数据并刷新页面可以看到Footer是动态变化的了。注意:有时候换了环境可能会出现这个错误:There is a problem with the query that this Web Part is issuing. Check the configuration of this Web Part and try again. 这是因为ListGUID变了,所以必要的时候我们可以通过ListUrl和ListName属性来控制,而不再使用ListGUID。
(三) 第三种方式也是借助web part,只不过换成是Data View Web Part,所以跟第二种方式大体上应该差不多,就不再细说了。
以上几种方式,各有优缺点,相对来讲,第二种或第三种更容易维护,因为他们是OOB的,不涉及到服务器端代码,如果客户不让写服务器端代码,那么此时选择后者再合适不过了。也许还有其他更好的方式,有待探究。
转载于:https://www.cnblogs.com/crazysharepoint/archive/2010/11/30/masterpage-list.html
SharePoint要在master page中动态显示List数据的几种方式相关推荐
- html中获取modelandview中的json数据_从Bitmap中获取YUV数据的两种方式
从Bitmap中我们能获取到的是RGB颜色分量,当需要获取YUV数据的时候,则需要先提取R,G,B分量的值,然后将RGB转化为YUV(根据具体的YUV的排列格式做相应的Y,U,V分量的排列) 所以这篇 ...
- python读取图像数据流_浅谈TensorFlow中读取图像数据的三种方式
本文面对三种常常遇到的情况,总结三种读取数据的方式,分别用于处理单张图片.大量图片,和TFRecorder读取方式.并且还补充了功能相近的tf函数. 1.处理单张图片 我们训练完模型之后,常常要用图片 ...
- 【Matlab系列】MATLAB中显示输出数据的四种方式
DATE: 2019-11-13 1.参考 MATLAB 显示输出数据的三种方式 Matlab之print,fprint,fscanf,disp函数 2.改变数据格式 当数据重复再命令行窗口时,整数以 ...
- Spring MVC中返回JSON数据的几种方式
我们都知道Spring MVC 的Controller方法中默认可以返回ModeAndView 和String 类型,返回的这两种类型数据是被DispatcherServlet拿来给到视图解析器进行继 ...
- TensorFlow中读取图像数据的三种方式(转)
附加一个链接关于DatasetAPI:https://zhuanlan.zhihu.com/p/30751039 本文面对三种常常遇到的情况,总结三种读取数据的方式,分别用于处理单张图片.大量图片,和 ...
- Hive中删除表数据的几种方式
在内部表中 仅删除表中数据,保留表结构 方法一 truncate table 表名; (truncate用于删除所有的行,这个行为在hive元存储删除数据是不可逆的) truncate 不能删除外部表 ...
- 在.NET Core 中收集数据的几种方式
APM是一种应用性能监控工具,可以帮助理解系统行为, 用于分析性能问题的工具,以便发生故障的时候,能够快速定位和解决问题, 通过汇聚业务系统各处理环节的实时数据,分析业务系统各事务处理的交易路径和处理 ...
- 面试中sql调优的几种方式_面试方式
面试中sql调优的几种方式 The first question I ask someone in an interview for a cybersecurity position is, &quo ...
- 一、目前在ASP.NET中页面传值共有这么几种方式:
一.目前在ASP.NET中页面传值共有这么几种方式: 1.表单提交, <form action= "target.aspx" method = "post&q ...
最新文章
- dede login.php,DedeCms会员登录成功,又跳转到登录页面
- 两张图看懂GDT、GDTR、LDT、LDTR的关系
- android中setdate不是静态,为什么当setData()和setType()不起作用时,android intent的setDataAndType()工作正常?...
- Batch Norm常用方法
- python的类程序的结构_python(8)---程序结构
- 文件管理英文html,Directory Opus
- Codeforces Manthan, Codefest 18 (rated, Div. 1 + Div. 2) E.Trips
- python字符串索引必须是整数_python – TypeError:字符串索引必须是整数...
- 北理乐学大学计算机实验4,北理工乐学上机实验五
- Silverlight 4 Tools for Visual Studio 2010手动一步一步安装
- sm4 前后端 加密_sm4加密
- 概率图模型(快速入门必备)
- 计算机电缆和屏蔽线的区别,屏蔽线
- 奥的斯服务器状态显示,OTIS服务器(TT)查看故障及清除故障的方法
- 用户主页个性域名技术实现
- 中山マミ - 咲く未来
- React受控非受控组件详解,PureComponent介绍,Refs, children属性详解
- 不愧是阿里P8!深入理解Java虚拟机pdf百度云
- Android FrameWork 学习之Android 系统源码调试
- Nginx的部署与配置
热门文章
- react学习(8)----数组方法fliter简介
- 前端学习(3075):vue+element今日头条管理-反馈
- [html] 当img标签中的src图片加载失败时,怎么让它变得更美观呢?
- [html] 网站如何自适应手机屏幕
- [vue] vue性能的优化的方法有哪些?
- 前端学习(2516):传值和引用
- 前端学习(1858)vue之电商管理系统电商系统之分析登录页面的布局结构
- 前端学习(1147):ES6学习目标
- java面试题27 java中下面哪些是Object类的方法()
- java学习(174):constructor类反射编程