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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/422999.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

前端学习(179):表单元素

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/ html4/strict.dtd"> <html><head><meta http-equiv"content-type" content"text/html; charsetutf-8"><title>表单</ti…

【软件开发底层知识修炼】十二 C/C++语言中内嵌汇编语言(asm)

上一篇文章学习了链接脚本的语法与相关概念&#xff1a;链接脚本的概念 在继续学习链接器的内容的同时&#xff0c;先学习一个新内容&#xff1a;内嵌汇编。 GCC编译器一般支持C/C内嵌汇编语言&#xff0c;这样可以实现语言本身无法实现的内容。我们本文主要介绍C语言中的内嵌…

数据思维整理

数据思维整理分享

windows7下iis网站的.net框架版本设置

昨天下载了 VS2010 创建了一个默认的WebApplication&#xff0c;想看看在iis中运行的情况&#xff0c;虽说用了几个月的 win7 &#xff0c;但还从没有用过IIS。首先给人的感觉是IIS变化很大&#xff0c;多出了很多东西&#xff0c;让人感到很茫然。 先建个网站试试&#xff0c;…

【OS学习笔记】二十三 保护模式七:保护模式下任务的隔离与任务的特权级概念

上一篇文章学习了保护模式下操作系统内核如何加载程序并运行&#xff1a;点击链接查看上一篇文章 本篇文章接着上一篇文章学习保护模式下任务的隔离。 包括以下学习内容&#xff1a; 任务的全局空间和局部空间任务的TSS任务的LDT任务的特权级概念等 1、回顾 在保护模式下&…

[Drupal] How to add the js file and js code block in Drupal

Drupal 6:代码//This will add a JS file to your head (specifically the $scripts variable in page.tpl.php)drupal_add_js(drupal_get_path(module,my_module) ./my_module.js); //This add inline JS to the head of the documentdrupal_add_js(alert("Hello!"…

【OS学习笔记】二十四 保护模式七:调用门与依从的代码段----特权级保护

学习交流加 个人qq&#xff1a; 1126137994个人微信&#xff1a; liu1126137994学习交流资源分享qq群&#xff1a; 962535112 上一篇文章学习了保护模式下的任务与任务隔离&#xff0c;以及简单介绍了保护模式下的特权级的概念。点击链接查看上一篇文章&#xff1a;任务与任务隔…

【OS学习笔记】二十六 保护模式八:任务门---任务切换

上一篇文章学习了&#xff1a;保护模式七&#xff1a;调用门与依从的代码段----特权级保护 主要学习了以下内容&#xff1a; 描述符特权级&#xff08;目标对象的特权级&#xff09;DPL 描述符特权级&#xff08;目标对象的特权级&#xff09;DPL 当前特权级CPL 低特权级的应…

腾讯微博应用

腾讯微博开放平台提供了一些官方微博应用&#xff0c;供开发者借鉴和利用&#xff0c;其中包括&#xff1a; 一键转播——嵌入一键转播到你的网站里&#xff0c;访客便能将网页信息直接传播至腾讯微博。分享资讯的同时&#xff0c;用户通过来源链接可进入你的网站&#xff0c;从…

【OS学习笔记】二十七 保护模式八:任务切换的方法之----jmp与call的区别以及任务的中断嵌套

上一篇文章学习了任务门的概念&#xff1a;任务门—任务切换。主要学习了以下内容&#xff1a; 使用任务门进行任务切换的一般工作原理&#xff08;和中断有关的任务切换&#xff09; 本篇文章接着上一篇文章学习以下内容&#xff1a; 利用jmp进行任务切换利用call进行任务切…

Windows Phone 7 开发 31 日谈——第22日:应用?还是 游戏?

本文是“Windows Phone 7 开发 31 日谈”系列的第22日。 昨天&#xff0c;我发了一篇极长的关于Silverlight Toolkit for Windows Phone的文章。今天的会短一些&#xff0c;但却非常珍贵。我会讨论你的应用程序设置中非常细微但很重要的设置&#xff1a;类别&#xff08;Genre&…

《Advanced .NET Debugging》 读书笔记 Listing 3-6: 使用sxe在程序载入mscorwks之后停下来载入sos...

1. 在WinDbg下载入01MDASample.exe 2. 执行 sxe ld mscorwks.dll 该命令的作用是在进程载入mscorwks之后停下来 3. 执行 g 可见程序在载入mscorwks.dll 之后停下来了 4. 执行 .loadby sos.dll mscorwks 转载于:https://www.cnblogs.com/charrli/archive/2010/12/25/1916964.h…

转载并学习实现三重DES加密解密代码(一)

作者:finallyliuyu 出处&#xff1a;博客园 声明&#xff1a;此篇博文代码来自于邹德强先生。由于目前找到的版本是残缺版&#xff0c;所以我又进行了补全。读一份好代码&#xff0c;可以领略到作者的编程风格和语言驾驭能力&#xff0c;同时又能从其中汲取养分。现将我所修改后…

【OS学习笔记】三十 保护模式九:段页式内存管理机制概述

上几篇文章学习了任务切换相关知识&#xff0c;如下&#xff1a; 【OS学习笔记】二十六 保护模式八&#xff1a;任务门—任务切换【OS学习笔记】二十七 保护模式八&#xff1a;任务切换的方法之----jmp与call的区别以及任务的中断嵌套 今天继续学习保护模式下的分页机制。本篇…

真人拳皇项目第六次Scrum总结——史经浩

今天&#xff0c;我们组开始了正式的编码阶段&#xff0c;前期plan的时候天马行空&#xff0c;现在是脚踏实地的coding了。在Scrum上&#xff0c;大家sync了一下各自的进展&#xff0c;如下&#xff1a; 今天 进度 问题及解决 明天 田飞 work item 37528:DirectX动画的de…

【OS学习笔记】三十一 保护模式九:页目录、页表和页三者的关系详解

上一篇文章学习了&#xff1a;保护模式九&#xff1a;段页式内存管理机制概述 本篇文章接着学习以下内容&#xff1a; 页目录概念页表概念页目录、页表与页之间的关系虚拟地址&#xff08;线性地址&#xff09;到物理地址的具体变换过程。 1、页目录、页表和页的对应关系 第…

使用某个文件夹下的所有文件去替换另一个文件夹下及其子文件夹下存在的同名文件(Python实现)...

值此新年即将到来之际,在这献上今年最后一篇文章. 产生这个需求是在项目的一次图标替换上,当时给了我一堆新图标要替换原来的老图标,可是原来的老图标分布在某个文件夹下的各个子文件夹下面,而新图标全是在同一个目录下的. 手动替换的话,只能是搜索文件名后替换,但是文件很多太…

一款研发管理软件的对象标签介绍

如果你了解WIKI&#xff0c;WIKI中的所有信息链接以标签的方式网状关联。TOPO系统中实现了完整的TAG功能&#xff0c;区别于目前市面上的其他类似管理系统&#xff0c;TOPO系统中实现的标签功能更加彻底和全面&#xff0c;例如完全用户自定义TAG&#xff0c;系统中所有管理对象…

【OS学习笔记】三十四 保护模式十:中断和异常区别

上几篇文章学习了分页机制的一些原理&#xff1a; 【OS学习笔记】三十 保护模式九&#xff1a;段页式内存管理机制概述【OS学习笔记】三十一 保护模式九&#xff1a;页目录、页表和页三者的关系详解 今天继续学习保护模式下的关于中断与异常的概念。本文主要学习中断与异常的…

记录一次文件迁移

事情的经过是这样子的&#xff01;数据库A表添加一条记录&#xff0c;**系统中B目录下就会多出5n个文件。随着系统运行3年多&#xff0c;B目录中的文件数已高达2M多&#xff0c;而这些文件恰恰又是用户高度频繁访问的。于是问题就来了&#xff0c;一方面是用户访问文件速度变慢…