Sharepoint 使用SPFieldMultiChoice的级联列表框-问题默认为默认内容类型

Sharepoint 使用SPFieldMultiChoice的级联列表框-问题默认为默认内容类型,sharepoint,moss,custom-controls,content-type,Sharepoint,Moss,Custom Controls,Content Type,最后,我修改了一个公开发布的POC:,这是一个用于级联下拉列表的自定义字段定义。这些修改是为了允许父-子列表框,用户可以在其中多个选择以过滤和选择要写回SharePoint列表的值。 我已使父子级联行为正常工作,但保存操作仅采用默认的内容类型值 我将自定义字段控件的基本类型从“SPFieldText”更改为“SPFieldMultiChoice”,同时将FLD_TYPES字段定义值从“Text”更改为“MultiChoice” 解释的步骤: 1.将创建从“SPFieldMultiChoice”类

最后,我修改了一个公开发布的POC:,这是一个用于级联下拉列表的自定义字段定义。这些修改是为了允许父-子列表框,用户可以在其中多个选择以过滤和选择要写回SharePoint列表的值。 我已使父子级联行为正常工作,但保存操作仅采用默认的内容类型值

我将自定义字段控件的基本类型从“SPFieldText”更改为“SPFieldMultiChoice”,同时将FLD_TYPES字段定义值从“Text”更改为“MultiChoice”

解释的步骤: 1.将创建从“SPFieldMultiChoice”类派生的自定义字段。自定义字段允许选择多个值。 2.使用上述自定义字段创建的字段将添加到从“文档”内容类型派生的GUI创建的自定义内容类型中。 3.自定义内容类型将添加到文档库中。 4.将上载文档,并选择自定义内容类型并将其标记到文档。 A.如果文档类型为.xls、.doc、.txt等,则正确的内容类型将使用正确的元数据进行标记 B.如果文档类型为.xlsx、.docx,则会标记默认内容类型,即“文档内容类型”

问题摘要–第#B点:这是一个问题,因为未标记正确的内容类型,如果上载文档的类型为.xlsx或.docx,则会标记默认内容类型。 但,若文档类型为.xls或.doc,则相同的内容类型、相同的自定义字段也适用

感谢您在这方面的投入

感谢您抽出时间阅读我的帖子


干杯,~Poonam

我不知道为什么会发生这种情况,最好将这种行为通知微软。你描述的.doc和.docx之间的区别非常非常奇怪。是否可以尝试在itemeventreceiver中设置内容类型,以强制项目的ContentType或ContentTypeId字段显式反映正确的内容类型

i、 e

由列表添加的部分是在将ctype添加到列表时添加的额外guid
这是因为列表中的ctype基本上是您添加的实际ctype的子级

i、 e.
0x010100 YOURGUID 00列出特定的GUID

您可以使用Stramit CAMLViewer或progr等工具获取此完整id。通过在SPLIst的ContentTypes集合中循环


(我的猜测是在ItemUpdated/ItemUpdated事件中执行此操作,以查看在这些调用期间ctype是否存在差异)

我已通过打开premier票证与Microsoft进行了核对。我得到了一个如下所列的回复:我已经能够在内部和外部使用自定义查找字段复制问题,也就是说,在将基本字段作为内容类型的一部分添加到文档库时,可以使用MultiChoice类型的基本字段。目前,它看起来更像一个bug,尽管我现在无法确认它。我正在对此进行更多的研究,并将向您发布我发现的有关此问题的更多信息。
item["ContentTypeId"] = new ContentTypeId("0x010100your_id_plus_the_part_added_by_list");