博客地址 http://blog.csdn.net/foxdave

本文所述均来自之前实际的项目模块

首先再论述一下SharePoint ContentType内容类型

SharePoint的列表和文档库可以储存不同类型的内容就叫做内容类型,比如文档库的文档,调查列表的调查等,都称作是内容类型。内容类型在网站范围内是可用的,不同的内容类型具有不同的内容和设置(如策略,关联的工作流等)。

通俗来讲,内容类型可以是文档,可以是文件夹,也可以是字段的集合。创建好后的内容类型可以与列表关联,体现在列表的新建项目上。没有凭空而来的内容类型,任何自定义内容类型都是基于现有类型创建的。SharePoint自有的内容类型可以通过访问网站设置->库->网站内容类型进行查看。更多的细节在此就不赘述了,下面进入正题。

打开Visual Studio,新建一个SharePoint空项目,添加一个内容类型,此时会弹出向导,询问基于哪个内容类型创建。这里我们创建一个最基本的,选择项目,点击完成。如下图所示

创建好之后可以看到如下ContentType定义文件(Elements.xml)

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Elements xmlns="http://schemas.microsoft.com/sharepoint/">
  3. <!-- 父内容类型: 项目 (0x01) -->
  4. <ContentType ID="0x0100aaeaadf3a9204fc38b69ae330f007f26"
  5. Name="SharePointProjectCT - ContentType1"
  6. Group="自定义内容类型"
  7. Description="我的内容类型"
  8. Inherits="TRUE"
  9. Version="0">
  10. <FieldRefs>
  11. </FieldRefs>
  12. </ContentType>
  13. </Elements>

其中有注释,表述该内容类型继承自项目,项目内容类型的ID为0x01。Visual Studio为我们自动生成了ContentType的基本定义,注意这里的ID,以0x01开头,这个不能改,因为内容类型的继承关系就是通过这个ID体现的。更多关于内容类型的ID的说明请戳这里,关于ContentType定义的属性说明请戳这里

在定义文件中,如果我们想添加一个富文本字段,就做如下操作:

先声明一个Field节点

  1. <Field ID="{FD0FFFC6-813E-4579-BCCF-797DE7724733}"
  2. Name="MyContent"
  3. Type="Note"
  4. RichText="TRUE"
  5. RichTextMode="Text"
  6. DisplayName="内容"
  7. ShowInDisplayForm="TRUE"
  8. ShowInEditForm="TRUE"
  9. ShowInNewForm="TRUE"
  10. Group="自定义字段"
  11. ></Field>

然后在内容类型中引用这个Field,用FieldRef节点

  1. <FieldRefs>
  2. <FieldRef ID="{FD0FFFC6-813E-4579-BCCF-797DE7724733}" Name="MyContent"/>
  3. </FieldRefs>

完整的定义文件如下所示

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Elements xmlns="http://schemas.microsoft.com/sharepoint/">
  3. <Field ID="{FD0FFFC6-813E-4579-BCCF-797DE7724733}"
  4. Name="MyContent"
  5. Type="Note"
  6. RichText="TRUE"
  7. RichTextMode="Text"
  8. DisplayName="内容"
  9. ShowInDisplayForm="TRUE"
  10. ShowInEditForm="TRUE"
  11. ShowInNewForm="TRUE"
  12. Group="自定义字段"
  13. ></Field>
  14. <!-- 父内容类型: 项目 (0x01) -->
  15. <ContentType ID="0x0100aaeaadf3a9204fc38b69ae330f007f26"
  16. Name="SharePointProjectCT - ContentType1"
  17. Group="自定义内容类型"
  18. Description="我的内容类型"
  19. Inherits="TRUE"
  20. Version="0">
  21. <FieldRefs>
  22. <FieldRef ID="{FD0FFFC6-813E-4579-BCCF-797DE7724733}" Name="MyContent"/>
  23. </FieldRefs>
  24. </ContentType>
  25. </Elements>

完成之后保存,部署。之后到SharePoint网站设置的内容类型里,可以看到我们刚才添加的内容类型了。

SharePoint Development - Custom Content Type using Visual Studio 2010 based SharePoint 2010的更多相关文章

  1. SharePoint Development - Custom Field using Visual Studio 2010 based SharePoint 2010

    博客地址 http://blog.csdn.net/foxdave 自定义列表的时候有时候需要自定义一些字段来更好地实现列表的功能,本文讲述自定义字段的一般步骤 打开Visual Studio,我们还 ...

  2. SharePoint Development - Custom List using Visual Studio 2010 based SharePoint 2010

    博客地址 http://blog.csdn.net/foxdave 之前两次我们定义了内容类型和字段,我们现在用它们为这一讲服务--创建一个自定义列表. 打开Visual Studio,打开之前的工程 ...

  3. SharePoint自动化系列——Content Type相关timer jobs一键执行

    转载请注明出自天外归云的博客园:http://www.cnblogs.com/LanTianYou/ 背景: 在SharePoint Central Administration->Monito ...

  4. SharePoint 2013 图文开发系列之Visual Studio 创建母版页

    一直以来,对于SharePoint母版页的创建,都是使用SharePoint Designer来创建和修改的,而后接触了SharePoint 2013,发现可以使用Html文件,通过设计管理器导入,然 ...

  5. Creating a SharePoint BCS .NET Connectivity Assembly to Crawl RSS Data in Visual Studio 2010

    from:http://blog.tallan.com/2012/07/18/creating-a-sharepoint-bcs-net-assembly-connector-to-crawl-rss ...

  6. SharePoint Framework 在Visual Studio Code中调试你的托管解决方案

    博客地址:http://blog.csdn.net/FoxDave 上一篇介绍了如何在本地调试你的SharePoint Framework解决方案,本篇介绍如何调试你的SharePoint Onl ...

  7. 如何通过PowerShell在Visual Studio的Post-build中预热SharePoint站点

    问题现象 Visual Studio在开发SharePoint的时候,发布部署包后,首次打开及调试站点页面的时候会非常的慢 解决方案 使用PowerShell脚本,加载SharePoint插件后遍历所 ...

  8. Visual Studio开发Cordova应用示例

    作者:Grey 原文地址:http://www.cnblogs.com/greyzeng/p/5455728.html 本文的GIF动画均使用ScreenToGif进行录制. Cordova是什么? ...

  9. Visual Studio 中TODO List的使用

    http://msdn.microsoft.com/en-us/library/txtwdysk.aspx 工欲善其事,必先利其器 When the Task List is open, you ca ...

随机推荐

  1. qt——QFileDialog使用对话框选取本地文件

    QT在学习的过程中总是遇到各种问题,没有人解答,只有自己在研究并且在网上搜索一些资料,从初学到现在入门,一直都是这样走过来的,虽然走得很艰难,但是每一个阶段都会有所收获,最近在做一个图片浏览模块的功能 ...

  2. 利用CombineFileInputFormat把netflix data set 导入到Hbase里

    版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/xiewenbo/article/details/25637931 package com.mr.te ...

  3. java-mybaits-009-mybatis-spring-使用,SqlSessionFactoryBean、事务

    一.版本限制 参看地址:http://www.mybatis.org/spring/ 二.使用入门 2.1.pom <dependency> <groupId>org.myba ...

  4. PAT 1109 Group Photo[仿真][难]

    1109 Group Photo(25 分) Formation is very important when taking a group photo. Given the rules of for ...

  5. selenium自我手册

    (转载需注明原文地址和作者两项,否则视为非授权) 语言:python 0x00 预热 下载安装包 pip install selenium 确定所用的浏览器 支持firefox,chrome,IE,e ...

  6. link标签 rel="stylesheet"

    首先,link标签是用于当前文档引用外部文档的,其次,这个标签的rel属性用于设置对象和链接目的间的关系,说白了就是指明你链进来的对象是个什么东西的,具体的值及其所表示的关系如下:Alternate: ...

  7. 2016ACM/ICPC亚洲区沈阳站 Solution

    A - Thickest Burger 水. #include <bits/stdc++.h> using namespace std; int t; int a, b; int main ...

  8. Java面向对象---重写(Override)与重载(Overload)

    一.重写(Override) 重写是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变.即外壳不变,核心重写! 重写的好处在于子类可以根据需要,定义特定于自己的行为. 也就是说 ...

  9. Centos75下samba搭建配置

    工作中,很经常需要把Linux服务器上的文件共享到windows上面,这时候需要在Linux服务器上安装samba套件. samba服务很好的实现了windows和linux之间的文件共享. 下面配置 ...

  10. 20145211《网络对抗》注入Shellcode并执行&&Return-to-libc攻击

    Shellcode注入 基础知识 Shellcode实际是一段代码,但却作为数据发送给受攻击服务器,将代码存储到对方的堆栈中,并将堆栈的返回地址利用缓冲区溢出,覆盖成为指向 shellcode的地址. ...