SharePoint 2013 图文开发系列之列表定义高级篇
转载自 http://www.cnblogs.com/jianyus/p/3484714.html
SharePoint列表库,是我们使用过程中最常用的库,下面,我们简单介绍下代码定义自定义列表,主要是如何使用列表模板修改自带的几个展示页面。
1、新建项目,SharePoint空项目,如下图:

2、选择部署方式,场解决方案,如下图:

3、添加新项,选择列表,如下图:

4、填写列表显示名称,选择列表模板,如下图:

5、修改Feature文件,方便以后识别,好的代码习惯,也很重要,如下图:
列表实例,主要是定义列表内容;列表定义,主要是定义字段、视图、内容类型等;

6、添加映射文件夹,如下图:

7、添加映射文件夹,这个文件夹里面,用来放列表显示模板:
物理路径C:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\TEMPLATE\CONTROLTEMPLATES

8、这个文件夹里,用来存放页面模板,物理路径如下:
C:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\TEMPLATE\Pages

9、列表显示模板的物理路径,以及默认文件:

10、列表页面模板物理路径,以及默认文件:

11、查看创建好的项目结构,如下图:
两个模板文件均是拷贝默认的模板,然后做修改并重命名的,千万别覆盖之前的,要不环境可就杯具了

12、查看列表显示模板,如下图:
列表显示模板,会有很多很多模板,我们选取ListForm模板,也就是自定义列表模板进行修改,简单说明一下如何修改,其他的都直接删掉;

13、修改以后,如下图的样子:

14、如何修改列表显示模板,并不是我们今天要说的内容,我们要说的是修改列表定义,下面,我们给这个模板的table加一个背景色,以识别我们的列表使用的是这个模板:

15、修改列表的描述文件,如下图:
修改Form节点,加上Template属性,属性的值为我们自定义列表显示模板文件名;

16、以上修改完毕后,部署解决方案,打开网站内容,多了我们的自定义列表,如下图:

17、打开新建页面,如下图:
列表的操作处,背景颜色为灰色,说明这个自定义列表的新建页面,已经使用我们自定义的模板;

18、同上,这是列表显示页面:

由于本文主要介绍,如何使用代码定义列表,使列表使用自定义的列表模板,所以并没有注重模板的内容,也没有创建过多字段。大家只要知道,这样定义列表,可以使用自定义模板即可,将来需要的话,修改模板,是很方便的。
虽然,定义列表显示模板很容易做,但是,切记不要覆盖掉之前的,否则会影响全局环境;真的出现这样的情况,也不要惊慌,随便找一台SharePoint 2013服务器,找到相应文件拷贝过来,即可解决。
19、修改列表页面模板,我一样在webpartzone外面,加一个背景色,方便识别是否引用自定义列表页面模板:

20、修改列表定义文件,如下图:

21、部署文件,刷新新建页面,背景为蓝色,说明列表页面模板自定义成功,如下图:

22、除了使用列表页面模板,我们还可以在上面添加webpart,如下:
添加新项,我们创建一个可视化Web部件;

23、简单在可视化web部件上,写上一句话:

24、在列表页面模板上添加我们创建的可视化web部件,如下图:
图片上看不清楚的代码部分:Assembly="$SharePoint.Project.AssemblyFullName$"

25、部署解决方案,然后刷新页面,如下图:
发现我们添加的可视化web部件,已经添加成功,当然,这个部件你可以定义一些功能,定义脚本,甚至是列表项的新建、更新和显示;

以上内容,就是SharePoint 2013使用代码,利用列表显示模板和列表页面模板定义自定义列表的全部过程,当然,本文只是简单介绍如何使用这样一种定义方式,真正完成你的需求,还是需要发挥你丰富的想象力。
同时,还想说的是,SharePoint是一个涉及面很广的平台,对于初学者来说经常会摸不到头脑,不知道从何入手,当我们遇到这种情况,我们需要做的就是静下心来,多使用SharePoint,多写代码,多看博客;在经过一段时间的积累,我们会逐渐理解一些SharePoint特有的东西,对于后续的学习,会有非常大的帮助。
特别要说的是,保有一份热血和激情,坚持的积累,才是学习的最好方法,不是某个人讲一两个知识点,几节课,参加一个培训就能够掌握一门技术的。
结束语
很晚了,劳逸结合才能有效的提高学习、工作效率,废话已经说得够多了,收笔洗洗睡觉去了,大家晚安!
附 录
SharePoint 2013 图文开发系列之列表定义高级篇的更多相关文章
- SharePoint 2013 图文开发系列之代码定义列表
在SharePoint的开发中,用Visual Studio自定义列表是经常会用到的,因为很多时候,我们并不会手动创建列表,而手动创建列表在测试服务器和正式机之间同步字段,也很麻烦,所以我们经常用代码 ...
- SharePoint 2013 图文开发系列之入门教程
做了SharePoint有三年了,大家经常会问到,你的SharePoint是怎么学的,想想自己的水平,也不过是初级开发罢了.因为,SharePoint开发需要接触的东西太多了,Windows操作系统. ...
- SharePoint 2013 图文开发系列之计时器任务
SharePoint的计时器任务,又称TimerJob,由服务里的Timer服务执行,在管理中心管理,是一个类似于Windows任务计划的功能,方便定时执行一些需要的功能,以免影响服务器性能. 在Sh ...
- SharePoint 2013 图文开发系列之定义站点模板
SharePoint站点模板是一个非常好的功能,方便我们开发一类网站,然后在此基础上做二次开发,对于SharePoint的使用,有着举足轻重的作用. 因为篇幅比较长,所以加上目录,方便大家查看: 一. ...
- SharePoint 2013 图文开发系列之自定义字段
SharePoint使用的优势,就在于开箱即用.快速搭建,SharePoint自身为我们提供了很多字段类型,已经很丰富了.但是,在实际应用中,我们还需要一些功能特殊的字段,下面,我们简单介绍下字段的开 ...
- SharePoint 2013 图文开发系列之事件接收器
在SharePoint的使用中,我们经常需要在完成一个动作之后,触发一个事件:比如,我们上传一个文档,但是没有标题,我们需要在上传完成之后,触发一个事件把文件名同步到标题,这就需要用到事件接收器. 此 ...
- SharePoint 2013 图文开发系列之应用程序页
在SharePoint中,有两种页面类型,一种是保存在数据库中的页面,我们可以在网站的页面库中看到:还有一种叫做应用程序页,部署在服务器上,Layouts下面的页面,是应用程序页,主要是完成特定功能的 ...
- SharePoint 2013 图文开发系列之Visual Studio 创建母版页
一直以来,对于SharePoint母版页的创建,都是使用SharePoint Designer来创建和修改的,而后接触了SharePoint 2013,发现可以使用Html文件,通过设计管理器导入,然 ...
- SharePoint 2013 图文开发系列之网站栏
网站栏的本质,就是一个xml的描述文件,所以创建过程,基本就是通过Feature部署一个Xml文件,然后修改Xml文件的网站栏描述. 1.添加新项目,选择SharePoint 2013 空项目,如下图 ...
随机推荐
- 遍历json创建树状表(首先的前提条件是要引入jquery的jquery treeTable插件)
"root":{ "children":[ { "name":"AA", "children":[ ...
- ajax中的stasus错误详解
一.英文版解析 0: (Uninitialized) the send( ) method has not yet been invoked. 1: (Loading) the send( ) met ...
- [ An Ac a Day ^_^ ] POJ 3254 Corn Fields 状压dp
题意: 有一块n*m的土地 0代表不肥沃不可以放牛 1代表肥沃可以放牛 且相邻的草地不能同时放牛 问最多有多少种放牛的方法并对1e8取模 思路: 典型的状压dp 能状态压缩 能状态转移 能状态压缩的题 ...
- 面试题-Java基础-垃圾回收
1.Java中垃圾回收有什么目的?什么时候进行垃圾回收? 垃圾回收的目的是识别并且丢弃应用不再使用的对象来释放和重用资源. 2.System.gc()和Runtime.gc()会做什么事情? 这两个方 ...
- 移动端audio自动播放问题
中秋临近,心血来潮想做个手机端贺卡,以前接触的移动端较少,虽然是个简单的贺卡,其实也蛮多坑的,简略说一下在制作贺卡的过程遇到的坑: 一:移动端的屏幕大小不能算作body的大小,因为手机浏览器头部都有网 ...
- 找出Java数组中不同的值
public void deltp(PrintWriter out) { try{ PageData pd = new PageData(); pd = this.getPageData(); Str ...
- JS算法与数据结构之八皇后(晕晕)
算法核心思想 回溯算法 递归实现 程序实现 坐标系 循环递归 回溯 计数 收集位置 特效添加 <!DOCTYPE HTML> <html> <head> <m ...
- angular.js升序降序过滤器
向指令添加过滤器 过滤器可以通过一个管道字符(|)和一个过滤器添加到指令中. orderBy 过滤器根据表达式排列数组: 例如: <div ng-app="myApp" ng ...
- C++中int转为char 以及int 转为string和string 转int和空格分隔字符串
1.对于int 转为char 直接上代码: 正确做法: void toChar(int b) { char u; ]; _itoa( b, buffer, ); //正确解法一 u = buffer[ ...
- Toast用法
应用场景:弹出提示信息 主界面: 代码如下: @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(sa ...