SP2010开发和VS2010专家"食谱"--第四章节—列表定义和内容类型(1)--创建网站栏
网站栏是创建内容类型的基石。本文中,我们将用SharePoint对象模型创建网站栏。
Getting ready
你的带有SharePoint2010的开发机器必须具有完整功能。你也需要VS2010 IDE。
How to do it
1. 管理员身份打开VS2010.
2. 新建项目,框架选择.NET Framework 3.5.
3. 选择空白SharePoint项目。
4. 命名项目SiteColumn点击确定。
5. 默认部署为场解决方案,下一步。
6. 右击Feature文件夹,添加Feature。
7. 在Feature中添加一个事件接收器。
8. 这样新增了Feature1.EventReceiver.cs。清除FeatureActivated和FeatureDeactivating方法的注释。
9. 添加下列代码创建TestColumn。
10. 添加代码删除FeatureDeactivating方法中的栏。你的代码应该是这样:
11. 当你生成并运行此解决方案时,你会被带到站点。
12. 导航到网站操作-网站设置-库-网站列。你应该可以看到新的网站列TestColumn在新组Chapter3Columns:
13. 你可以核实所有属性,点击TestColumn栏。
How it works
代码很简单。我们添加一个域(域和栏用来指同一个对象)到网站域集。方法被重载使用不同参数。我们使用方法将栏显示名、栏目类型以及是否必填为参数。方法返回字段的内部名。内部名对于域是唯一的。这样你可以在多个列表使用相同域,改变显示名满足你的需要。通过使用内部名,我们抽取域对象并设置其他属性如最大长度字符,是否必填。我们也设置域所属的组名。当组中没有域时,自动被删除。所以没有额外的代码创建或删除组。
There's more
你可以使用网站域集的AddFieldAsXml方法创建新网站栏。这个方法里,你将传递想要创建的域的XML架构。例如,下列大妈展示XML架构:
Deleting the site columns on deactivation of the feature
本文中我们在deactivating方法删除了网站列。这是清除网站列的一般方法。在删除前确保它没有在(已在网站列中部署和使用)内容类型上产生不利影响。
See also
1. 拓展现有内容类型。
2. 创建自定义内容类型。