设为首页 收藏本站
查看: 1269|回复: 0

[经验分享] SharePoint 2013 图文开发系列之代码定义列表

[复制链接]

尚未签到

发表于 2015-9-24 08:42:45 | 显示全部楼层 |阅读模式
  在SharePoint的开发中,用Visual Studio自定义列表是经常会用到的,因为很多时候,我们并不会手动创建列表,而手动创建列表在测试服务器和正式机之间同步字段,也很麻烦,所以我们经常用代码来定义列表或者文档库。
  尤其在工作流的开发中,我们经常会用到代码定义任务列表,或者历史记录列表,用来存储我们需要存储的相关数据。而在Visual Studio 2013中,定义列表也提供了模板,通过模板创建,我们很容易就可以定义需要的列表了。
  下面,让我们简单学习下,如何使用VS定义自定义列表。
  1、跟之前一样,创建SharePoint 2013空项目,如下图:
DSC0000.png
  2、选择调试网站和解决方案类型,这里选择场解决方案,如下图:
DSC0001.png
  3、添加新项,选择列表,如下图:
DSC0002.png
  4、设置列表的显示名称,选择创建自定义的列表还是根据模板创建,第一个选项是自定义列表,第二个选项是根据现有列表模板创建,如下图:
DSC0003.png
  5、也可以选择根据列表模板创建,这里我没有选择这个选项,如下图:
DSC0004.png
  6、添加列表栏,如下图:
DSC0005.png
  7、添加或修改默认内容类型,如下图:
DSC0006.png
  8、添加字段,左侧是字段名,建议先写英文,保存后改为中文;或者写中文,去xml里面改英文也可以,如下图:
DSC0007.png
  9、创建、或修改视图,添加视图需要的栏,如下图:
DSC0008.png
  10、修改列表信息,列表名、列表Url、是否显示快速启动等,如下图:
DSC0009.png
  11、查看列表的Xml,上面的所有定义,都可以在这里看到和修改,如下图:
DSC00010.png
  如下,Xml的详细描述,可以看到栏、内容类型、视图、表单等定义的xml;


DSC00011.gif DSC00012.gif


<?xml version="1.0" encoding="utf-8"?>
<List xmlns:ows="Microsoft SharePoint" Title="CustomList" FolderCreation="FALSE" Direction="$Resources:Direction;" Url="Lists/CustomList" BaseType="0" xmlns="http://schemas.microsoft.com/sharepoint/">
<MetaData>
<ContentTypes>

<ContentType ID="0x0100bdd9136fd8a7452dbadcdabda53becf7" Name="ListFieldsContentType"><FieldRefs><FieldRef ID="{fa564e0f-0c70-4ab9-b863-0177e6ddd247}" Name="Title" /><FieldRef ID="{8c29daea-1ef8-43df-aa4d-00a4ad305e28}" Name="test" /><FieldRef ID="{b028b5c5-e3ed-4ca1-a5a5-a0260f41a5c8}" Name="_x67e5__x9605__x9879_" /><FieldRef ID="{b2a9e09b-9b62-4df4-a370-36b3869cb308}" Name="MyAuthor" /></FieldRefs></ContentType><ContentTypeRef ID="0x01">
<Folder TargetName="Item" />
</ContentTypeRef><ContentTypeRef ID="0x0120" /></ContentTypes>
<Fields>
<Field ID="{fa564e0f-0c70-4ab9-b863-0177e6ddd247}" Type="Text" Name="Title" DisplayName="$Resources:core,Title;" Required="TRUE" SourceID="http://schemas.microsoft.com/sharepoint/v3" StaticName="Title" MaxLength="255" /><Field Name="test" ID="{8c29daea-1ef8-43df-aa4d-00a4ad305e28}" DisplayName="内容" Type="Note" Required="FALSE" /><Field Name="_x67e5__x9605__x9879_" ID="{b028b5c5-e3ed-4ca1-a5a5-a0260f41a5c8}" List="{e22aa897-66d4-41fb-99b7-77acce6c10f6}" ShowField="Title" DisplayName="查阅项" Type="Lookup" /><Field Name="MyAuthor" ID="{b2a9e09b-9b62-4df4-a370-36b3869cb308}" DisplayName="作者" Type="User" /></Fields>
<Views>

<View BaseViewID="0" Type="HTML" MobileView="TRUE" TabularView="FALSE">
<Toolbar Type="Standard" />
<XslLink Default="TRUE">main.xsl</XslLink>
<RowLimit Paged="TRUE">30</RowLimit>
<ViewFields>
<FieldRef Name="LinkTitleNoMenu"></FieldRef></ViewFields>
<Query>
<OrderBy>
<FieldRef Name="Modified" Ascending="FALSE"></FieldRef></OrderBy>
</Query>
<ParameterBindings>
<ParameterBinding Name="AddNewAnnouncement" Location="Resource(wss,addnewitem)" />
<ParameterBinding Name="NoAnnouncements" Location="Resource(wss,noXinviewofY_LIST)" />
<ParameterBinding Name="NoAnnouncementsHowTo" Location="Resource(wss,noXinviewofY_ONET_HOME)" />
</ParameterBindings>
</View><View BaseViewID="1" Type="HTML" WebPartZoneID="Main" DisplayName="$Resources:core,objectiv_schema_mwsidcamlidC24;" DefaultView="TRUE" MobileView="TRUE" MobileDefaultView="TRUE" SetupPath="pages\viewpage.aspx" ImageUrl="/_layouts/15/images/generic.png?rev=23" Url="AllItems.aspx">
<Toolbar Type="Standard" />
<XslLink Default="TRUE">main.xsl</XslLink>
<JSLink>clienttemplates.js</JSLink>
<RowLimit Paged="TRUE">30</RowLimit>
<ViewFields>
<FieldRef Name="LinkTitle"></FieldRef><FieldRef Name="test" /><FieldRef Name="_x67e5__x9605__x9879_" /><FieldRef Name="MyAuthor" /></ViewFields>
<Query>
<OrderBy>
<FieldRef Name="ID"></FieldRef></OrderBy>
</Query>
<ParameterBindings>
<ParameterBinding Name="NoAnnouncements" Location="Resource(wss,noXinviewofY_LIST)" />
<ParameterBinding Name="NoAnnouncementsHowTo" Location="Resource(wss,noXinviewofY_DEFAULT)" />
</ParameterBindings>
</View></Views>
<Forms>
<Form Type="DisplayForm" Url="DispForm.aspx" SetupPath="pages\form.aspx" WebPartZoneID="Main" />
<Form Type="EditForm" Url="EditForm.aspx" SetupPath="pages\form.aspx" WebPartZoneID="Main" />
<Form Type="NewForm" Url="NewForm.aspx" SetupPath="pages\form.aspx" WebPartZoneID="Main" />
</Forms>
</MetaData>
</List>
View Code   12、部署定义的列表,在网站中打开,如下图:
DSC00013.png
  13、新建项目,可以看到我们添加的栏,查阅项没有关联,其他栏都正常,如下图:
DSC00014.png
  14、修改Schema.xml中查阅项Field,添加下面两项,分别是查阅项关联的List和Field;



List="{e22aa897-66d4-41fb-99b7-77acce6c10f6}" ShowField="Title"
  15、重新部署,如下图,可以看到查阅项正常了,OK!
DSC00015.png
  
  简单的用VS定义列表,就如上面介绍的,当然可能需要复杂的字段,我们无从知道字段的Field怎么定义,我们可以先手动创建一个类似字段,用SharePoint Manager 2013查看下字段的Xml,参考来定义我们的字段。
  要说的就这么多了,很简单的一个例子,希望对初学者有所帮助,也希望高手指教错误,不吝赐教。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-117954-1-1.html 上篇帖子: SharePoint 2013 图文开发系列之定义站点模板 下篇帖子: SharePoint 2013自定义Providers在基于表单的身份验证(Forms-Based-Authentication)中的应用
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表