SharePoint 2013开发入门探索(一)- 自定义列表

     在SharePoint 2013中创建自定义列表的方式有很多,在网站内容页面添加应用程序就可以创建(站点内容-〉 您的应用程序),也可以通过SharePoint Designer 2013创建,而本文将描述的是用Visual Studio 2012 创建自定义列表的内容,因笔者水平有限,如果各位专家高手发现任何疏漏和错误,望不惜赐教!

     首先确认您已经准备好了SharePoint环境,并且安装了Visual Studio的插件(没有插件请参考http://yalla.itgroove.net/2012/08/sharepoint-2013-project-templates-for-visual-studio-2012/)。然后打开Visual Studio-〉新建项目选择Office/SharePoint->SharePoint解决方案->SharePoint 2013-空项目,这里名称、位置可以修改。项目的名字就是发布后生成wsp文件的名字, 所以为项目取个友好的名字吧。

 

 

    接下来进入自定义向导,如果选择“部署为沙盒解决方案”,执行环境将受到限制而仅能访问某些资源,例如不能在代码中提升权限,在SharePoint映射文件夹里添加内容也会受限。但是有些时候您也许只能这样选择,例如从安全管理考虑(沙盒解决方案不会影响整个服务器场)或者您在部署时只有网站集管理员权限而没有场管理员权限。

 

    

    下面的项目属性将和部署有关。

 

 

     选择解决方案资源管理器里的项目右键-〉添加-〉新建项-〉Office/SharePoint->列表,为项目取个温暖的名字。我想做个客户信息的列表就叫MyCustomerList。

 

 

     接着是选择列表设置,可以选择根据模板创建实例,也可以创建新的模版及实例,我这里都创建新的。修改显示名称会影响列表的标题,但也会影响URL。我现在没有直接改成中文,而是在下面的步骤再修改标题。

 

 

     新建成功后可看到以下内容:功能文件夹、功能文件、列表模板文件夹、列表模板的Elements.xml文件、列表实例文件夹、列表实例的Elements.xml文件,Schema.xml文件等。

 

 

     打开功能(Feature)文件,可以修改功能标题和说明,部署后在设置->网站设置->网站操作-〉管理网站功能会看到这个功能。一个项目里可以有多个功能文件,一个功能文件里也可以包含多个元素(范围相同的),给每个功能文件也取一个友好的名字,容易辨识(功能文件的名字不要太长,否则用Visual Studio部署时会报错)。将开发包部署并激活功能后,我们开发自定义列表就能用了。

 

    

    看一下功能属性,这个和部署步骤后的激活功能有关。

 

   

     切换到清单选项卡看看功能清单,这里包含上面的功能属性和这个功能里的开发元素(自定义列表模板和自定义列表实例)。

 

 

    打开列表模版和列表实例都有个元素文件Elements.xml,它们的一些属性就定义在这里。注意,这里的Type或TemplateType值,这个值不能和其他项目的有重复,已经有了就要换一个,否则部署时会报错。

 

   

    在列表选项卡可以修改标题、URL和说明,这回我将标题改为中文(更改会反应在Elements.xml里)。

 

 

     切换到栏选项卡,现在看到只有一个标题列。再看下内容类型有两个,其中项目是默认值。如果我们另选择添加一个内容类型并把它设为默认值,会发现上面的列变了,可能有好多列!现在理解下内容类型,网上说“内容类型就是由网站栏集合做成的列表模版”,也就是说我一个客户列表可以做多个客户内容类型——个人客户和企业客户,个人客户可以有姓名、性别,年龄等字段,企业用户可以有法人代表、注册资金等字段。 在SharePoint网站中,设置->网站设置->Web 设计器库->网站内容类型里有很多定义好的内容类型,内容类型也可以自己开发,可以继承。

 

    

 

     根据需求,添加修改列(使用网格为列表配置列)。如果不需要,可以把默认的列删掉。

 

 

     也可以选择已有的栏。在SharePoint网站中,设置->网站设置->Web 设计器库->网站栏里有很多定义好的栏,网站栏也可以自己开发。

 

 

     我这里自己手工输入几个列,选择“类型”和“是否必填”。

 

 

     注意这里的属性,DisplayName是显示的列名,ID和Name将来在代码里操作可能会使用,要保证其唯一。Type是可以选择可以详细设置的,系统为我们准备了几个Type,我们也可以开发Type--创建自定义字段类型。

 

 

     修改完上面的栏,再看下内容类型,发现多了个ListFieldsContentType的内容类型,而且被设为默认值,看来这个内容类型是因为刚才调整了列表的栏后自动创建的。因为在部署后,我在网站内容类型中没找到叫这个名字的内容类型,再新建一个列表修改后新的内容类型也叫这个名称,没有冲突,所以我理解这个内容类型是列表私有的。

 

 

     切换到视图选项卡,可以添加和修改视图,在这里可以选择可用列,也可以对列排序。

 

 

     现在,打开Schema.xml文件,可以看到我们设置栏、内容类型、视图还有其他很多的内容都在这里,喜欢XML的高手可以直接修改它,作为新手遇到不会写的定义也可以从做好的Schema.xml内容里借鉴。

 

 View Code

 

    开发已经完成了了,现在用Visual Studio将项目部署,进入网站已经能看到我的客户列表。

 

 

     再选择Visual Studio发布,生成了一个.wsp的文件-SharePointProject1.wsp(SharePointProject1是项目名),这个文件就可以拿到生产环境部署了。

 

 

     最后出于好奇,我把wsp文件解压缩,看看里面是什么(如果您的机器上的压缩软件不能直接解压,可尝试修改后缀名为cab。)。我看到的首先是一个清单文件(manifest.xml),一个DLL文件(SharePointProject1.dll),还有一个功能文件夹。打开清单文件看到里面有项目属性的信息,DLL文件和功能文件夹位置等;反编译DLL文件,看到的主要是程序集信息,因为这个项目没写什么C#代码,这里内容非常少。接着再打开功能文件夹,看到的是功能清单文件(Feature.xml),列表模版文件夹(MyCustomerList)、列表实例文件夹(MyCustomerList)。功能清单文件里有功能的属性信息、列表模版和列表实例的元素位置。列表模版和列表实例文件夹里都装着各自的元素文件(Elements.xml),其中列表模板文件夹里还有个Schema.xml文件,我们开发的东西都找到了!

 

  

 

 参考资料:

1、《在 SharePoint 2010 中创建自定义列表定义》

http://msdn.microsoft.com/zh-cn/library/ff728096(v=office.14).aspx

2、《创建 SharePoint 的网站栏、内容类型和列表》

http://msdn.microsoft.com/zh-cn/library/vstudio/ee231593(v=vs.110).aspx

3、《创建自定义字段类型》

http://msdn.microsoft.com/zh-cn/library/bb862248(office.14).aspx

    

微软Web平台安装器下载:

http://www.microsoft.com/web/downloads/platform.aspx

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

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

相关文章

使用C#代码部署SharePoint 2013开发包简单总结(一)

这篇文章将总结下如何将自己开发的列表、Web部件、事件接收器等元素部署到SharePoint的服务器。因水平有限,我的做法未必是最佳实践,会有些错误理解和疏漏,欢迎各位高手批评指正——但一定要能给出更好的方案。如果您是SharePoint开发的新手&…

CCNP-第三篇 EIGRP高级版(四个特性)(下)+OSPF复习

CCNP-第三篇 EIGRP高级版(四个特性)(下)OSPF复习 EIGRP篇到此完结 接下来四篇都是OSPF哦 EIGRP下发默认路由 来看一个环境 这种环境一般来说是很常见的,然后这个呢,下面的服务器,都是需要指向汇聚层的,那么如果环境很大的时候,每个机器都要手动写,就很麻烦了 >可以做一个…

CCNP-第四篇-OSPF高级版(一)

CCNP-第四篇-OSPF高级版(一) OSPFOpen shortes path first 开放式最短路径优先协议 最大优点:公有,开放,任何一个品牌都能用 EIGRP最大优点:快的一批 EIGRP最大缺点:思科私有 OSPF甚至于在Liunx上也能运行起来 OSPF是采用动态更新的 所以会给设备带来大量的硬件消耗 在OSPF中…

【转】DevOps到底是什么意思?

提到DevOps这个词,我相信很多人一定不会陌生。 作为一个热门的概念,DevOps近年来频频出现在各大技术社区和媒体的文章中,备受行业大咖的追捧,也吸引了很多吃瓜群众的围观。 那么,DevOps是什么呢? 有人说它…

CCNP-第五篇-OSPF高级版(二)

CCNP-第五篇-OSPF高级版(二) 链路状态数据库LSDB拓扑表 link state database 收到之后放入自己的数据库再计算最新的放入路由表 根据COST值来计算 >COST值的计算方式10的8次方除以带宽这个环境会涉及一个东西叫做重分布,这类会做,然后下一章或者下下章会详细开始讲. 详细环…

IIS 内部运行机制

ASP.NET是一个非常强大的构建Web应用的平台,它提供了极大的灵活性和能力以致于可以用它来构建所有类型的Web应用。 绝大多数的人只熟悉高层的框架如: WebForms 和 WebServices — 这些都在ASP.NET层次结构的最高层。 这篇文章的资料收集整理自各种微软公…

CCNP-第六篇-OSPF高级版(三)

CCNP-第六篇-OSPF高级版(三) 这一节差不多都是密码认证了,还有个NSSA和OE1,OE2 OSPF默认路由OSPF认证问题OSPF特殊区域,NSSA,STUB OSPF下发默认路由 其实跟EIGRP一样,只不过是下发一条路由给别人指向自己 一般都用于核心连接出口处,或者汇聚连接核心处 如果是这种环境下,那…

SharePoint 2013异常信息的查看

刚刚学习SharePoint开发的时候,经常遇到一些异常,却不能直接看到详细信息,很郁闷。这里做下简单的整理,方便查找: 1、代码未处理异常出现黄页——”‘/’应用程序中的服务器错误。运行时错误“。 其实这个黄页是ASP.N…

CCNP-第七篇-OSPF高级版(四)+策略开头

CCNP-第七篇-OSPF高级版(四)策略开头 今天讲NSSA和完全NSSA NSSA区域叫做非完全末节区域,这个东西都不知道命名的人怎么想的 因为完全NSSA区域叫做完全非完全末节区域,pleas,你人傻了吗? NSSA区域特点:过滤4,5类的LSA,同时会5类转为7类条目 7类在路由表里面是ON的 然后,7类除…

同步界面

设置FFS程序 当你下载、安装好后桌面会出现这两个图标。左边是主要的程序,右边软件用来设置自动同步。打开绿色图标的程序。 打开蓝色的设置按钮。 建议选择“文件时间和大小”。单纯的大小不能反映内容。比较文件内容又取决于硬盘速度。如果速度够快可以选择文件内…

CCNP-第八篇-分发列表+PRB+重分布+Route-Map

CCNP-第八篇-分发列表PRB重分布Route-Map 这个学不好,BGP就一定学不好 Route-Map 这样理解吧,在Route-map中 ACL就相当于警察,只能抓,不能判 Rroute-map呢就相当于法官,法官可以判罚 一般都是结合使用的,因为不结合这玩意也没法用环境如图 需求:干掉100.1.1.0/24 在Route-m…

虎年第一篇-CCNP-第九篇-BGP(一)

CCNP-第九篇-BGP(一) 首先,开工啦,祝大家2022新年快乐虎年大吉,虎虎生威哦BGP是一个网络工程师的分水岭 这是真的,BGP一般很大的企业才能用得上,或者ISP运营商 人家可以不用,但是你不能不会吧, BGP,CCIE必考 BGP有四节课基础,后面CCIE的部分还有 从BGP开始就要换一种理念 因为之…

rsync算法原理及使用

如果服务器之间需要保持某些文件的一致,我们可以使用scp来复制,如果需要长期保持一致,可以配合crontab脚本来使用。但是此时我们有更优的方式,就是rsynccrontab来实现定时增量传输保持文件一致。 rsync功能很强大,网上…

CCNP-第十篇-BGP(二)

CCNP-第十篇-BGP(二) 首先 BGP都基本上部署在PE,CE设备 PE:Provider edge 运营商边界 CE:Customer edge 用户边界 建立BGP 1.一般呢,是会使用环回口建立BGP 2.因为他是虚拟接口,很稳定,而且不会down,只要系统在,他就不会down;; 3.如果他down了就是整个网络都断了 4.节约接口使…

CCNP-第十一篇-BGP(三)(精髓篇)

CCNP-第十一篇-BGP(三) BGP十三条线路原则(大点) 能修改的前7条,後6条是无法修改的,所以实际上7条 跟ACL一样,从上往下执行,比如第一条比较出来了就不会继续往下了 工作中比较多用的,第四条根据as-path一,权重-Weight 1.思科里面叫权重,是思科私有的,在华为叫首选优先级(Pre…

WSS 数据库表中的 UserInfo 表中的 tp_SystemId 字段的使用

在 WSS 的数据库中,UserInfo表的 tp_SystemId 记录的是用户登录验证时需要用到的数据,是此用户在 AD( Active Directory ) 中的 SID( Security ID )。此字段的数据很重要,不小心改动的话,此用户将不能登录 WSS。 这里介绍一下如何…

CCNP-第十二篇-BGP(四)

CCNP-第十二篇-BGP(四) 这次接着上次的选路原则继续干 上次是前6条,现在是跟后面的7条 BGP的选路原则默认是11条,最大可以配置后去到13条七.EBGP路由优于IBGP 这个不知道咋讲呢 如果A-B-C 那么A-B为IBGP B-C为EBGP的话 他们同时宣告一个条目 在两边对称的情况下,会选择EBGP宣告…

使用Module自定义网站定义(Site Definition)

在WSS SDK中有一篇文章介绍了使用Modules添加文件到网站定义中(可以在http://msdn.microsoft.com中搜索Using Modules to Add Files to a Site Difinition找到),不过很多东西只是稍微提了一下,具体怎么操作并没有讲到。 一般的,我们可以用下…

CCNP-第十三篇-BGP(五)

CCNP-第十三篇-BGP(五) 这一节要讲下BGP联邦 干啥用的呢? 打破IBGP的传递问题 其实这个东东有点像BGP版本的NAT 啥意思呢? 我自己启动AS100 但是对外宣告200 通过EBGP打破IBGP的传递问题总有AS:1-65535 私有AS 65412-65535 网络环境 环境搭建好之后,R2和R3互为ibgp,as为65…

CCNP-第十五篇-VXLAN(一)

CCNP-第十五篇-VXLAN(一) 到了这个阶段呢,怎么说呢,简单的NP级别的交换我都跳过去了,但是后期会补, 所以这个衔接可能新手或者不会的看的有的迷茫 但是出自个人原因只好这么干了,VXLAN3篇差不多就到IE的MPLS,各种VPN 然后为什么先发第十六不发十五呢 十五是BGP的综合实验,暂时…