您的位置:首页 > 其它

WSS3SDK之:如何添加内容类型至列表

2009-01-17 18:35 267 查看
您可以在一个列表定义中引用内容类型,以便在用户创建该类型列表是,WSS会默认在列表中包含该内容类型。

列表定义可以包含到Feature中。

当用户创建了一个列表后,您可以通过WSS对象模型来添加内容类型。

在列表定义中指定内容类型

如果要在列表定义
中添加一个内容类型,您可以在列表架构中添加一个ContentTypes元素。ContentTypes元素包含了一个ContentTypeRef
元素的集合。每个ContentTypeRef元素指定了一个WSS中的网站内容类型,当用户创建该类型的列表时,会拷贝到本地列表中,成为列表内容类
型。ContentTypeRef元素仅仅包含了一个属性,ID,用于指定内容类型ID。

您所引用的网站内容类型必须与列表在同一个范围内。也就是说同样在网站集或网站的更高一层。

List元素包含了一个属性,AllowMultipleContentTypes,该属性必须设置为TRUE 以允许列表在创建时内置多个内容类型。同时,List元素还包括了一个属性,EnableContentTypes,也要设为TRUE,来允许WSS在列表中显示多个内容类型。

注意

当WSS创建列表时,仅会创建那些在该列表基础类型架构或列表架构中定义的栏。如果您在列表架构中引用的网站内容类型中的栏并没有包含在列表基础类型架构或列表架构中,那么这些栏将不会被创建到列表中。您必须也要在列表架构中包含这些栏,以便在创建列表时添加他们。

添加一个内容类型到列表定义

1、在列表定义XML中,ContentTypes元素下添加一个ContentType元素。

2、设置ContentType元素的ID属性为您想要包含到列表中的内容类型的ID。

为已有的列表添加内容类型

您可以通过WSS对象模型来添加内容类型到一个创建的列表。

步骤:

1、通过AvailableContentTypes方法来返回列表所在网站中所有可用的内容类型。该方法返回一个SPContentTypeCollection对象。

2、定义一个SPContentType对象的变量,使其等于集合中的某个您想要添加到列表中的SPContentType对象。

3、通过ContentTypes属性来访问基于特定列表的列表内容类型的集合。该方法返回一个SPContentTypeCollection对象。

4、调用Add方法来添加一个SPContentType对象到列表内容类型集合中。

您要添加的网站内容类型必须在列表可以访问到的范围内,也就是说,必须定义在同一个网站中或比其高的层次中。

当您通过对象模型添加一个网站内容类型到列表中后,WSS会自动添加该内容类型的所有栏到列表中(如果之前没有该栏)。这是通过将现有列表实例和内容类型进行对比来实现的。在这种情况下,如果要给列表内容类型添加其他列表栏,必须显式的进行。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: