Ole*_*ers 9 c# sharepoint content-type sharepoint-2010
当我搜索有关使用代码(C#)创建内容类型的文档时,我总是找到使用SPFieldLink链接到站点的现有字段并通过以下方式添加此示例的示例
contentType.FieldLinks.Add()
Run Code Online (Sandbox Code Playgroud)
但是还有一种直接添加字段的方法.是否有一个很好的理由我不应该简单地添加字段
contentType.Fields.Add(SpField())
Run Code Online (Sandbox Code Playgroud)
?!?
提前致谢
查看XML以获取列表可能会有所帮助.
以下是公告内容类型的XML:
<FieldRefs>
<FieldRef ID="{7662cd2c-f069-4dba-9e35-082cf976e170}" Name="Body" />
<FieldRef ID="{6a09e75b-8d17-4698-94a8-371eda1af1ac}" Name="Expires" />
</FieldRefs>
Run Code Online (Sandbox Code Playgroud)
以下是公告列表的XML:
<Fields>
<Field ID="{7662cd2c-f069-4dba-9e35-082cf976e170}" Type="Note" RichText="TRUE" RichTextMode="FullHtml" IsolateStyles="TRUE" NumLines="15" Name="Body" DisplayName="$Resources:core,camlid2;" Sortable="FALSE" SourceID="http://schemas.microsoft.com/sharepoint/v3" StaticName="Body">
</Field>
<Field ID="{6a09e75b-8d17-4698-94a8-371eda1af1ac}" Type="DateTime" Name="Expires" DisplayName="$Resources:core,camlid3;" Format="DateOnly" FromBaseType="TRUE" SourceID="http://schemas.microsoft.com/sharepoint/v3" StaticName="Expires">
</Field>
</Fields>
Run Code Online (Sandbox Code Playgroud)
列表有字段.内容类型具有FieldRefs.
我不确定这是否完全正确,但我总是把它描述为类和接口或抽象类之间的区别.内容类型是列表的定义,但是,与接口一样,它不包含任何数据或功能.由于Fields包含数据和功能,因此内容类型(与列表无关)没有Fields,它们具有FieldRef.YMMV - 但这总能帮助我保持他们的正直.
似乎有一个简单的原因,就像我现在发现的那样:它只适用于ContentTypes.当试图直接添加一个Field时,SP2010给我发了一个异常:
对于与列表无关的字段集合,此功能不可用.
我绝对没想到这一点(也不是西班牙的宗教裁判所),但似乎不可能.
| 归档时间: |
|
| 查看次数: |
2968 次 |
| 最近记录: |