当前位置:  开发笔记 > 编程语言 > 正文

SharePoint:内容类型ID与附加到列表实例的内容类型ID不同

如何解决《SharePoint:内容类型ID与附加到列表实例的内容类型ID不同》经验,为你挑选了1个好方法。

我有一个关于内容类型及其ID以及如何将它们与对象模型一起使用的问题.

首先,我定义了一些站点列,使用这些列的内容类型以及通过CAML使用此内容类型的列表定义.三个组件中的每一个都被实现为特征.另一个功能是创建此列表定义的列表实例.

因此,当我尝试使用我的内容类型向列表中添加新项时,我使用以下代码.

 SPListItem listItem = list.Items.Add();
 SPContentType type = list.ContentTypes[new ContentTypeId("0x010044fb4458c2eb4800825910845a35554c")];
 listItem["ContentTypeId"] = type.Id;
 listItem["Title"] = "Titel";
 listItem.Update();

当我执行这段代码时,类型对象仍为null,我也确定内容类型附加到列表中.调试代码并检查列表的内容类型向我显示附加到列表的内容类型没有我在内容类型定义(CAML)中定义的id.列表实例中的id不同,但是从我在内容类型定义中定义的id开始. 0x010044FB4458C2EB4800825910845A35554C 0077D683BDD9969F4E920A27C334463321

这种行为正常吗?我希望附加到列表的内容类型具有与定义中相同的ID.

我的主要目标是避免使用内容类型的名称从列表的内容类型中检索它,但要使用唯一的ID.

再见弗洛



1> Brandon..:

基于内容类型创建列表时,列表的每个实例实际上都是从父级继承的新内容类型.

看看这个...... http://soerennielsen.wordpress.com/2007/09/11/propagate-site-content-types-to-list-content-types/

更新 - 关于在不使用名称的情况下查找列表实例,请同时查看SPContentTypeUsage类!

推荐阅读
重庆制造漫画社
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有