0

我正在使用 Visual Studio 2012 创建一个 TaxonomyFieldType 类型的自定义站点列、一个使用它的自定义内容类型,以及一个使用该内容类型的自定义列表。

一切似乎都部署得很好。如果我查看我的自定义网站栏,它似乎正确地引用了正确的术语集。我可以在 Web UI 中创建一个使用我的自定义内容类型的新列表。但是,我使用 Visual Studio 2012 列表模板创建的自定义列表始终在新表单上将我的分类字段显示为禁用。以下是我亲眼目睹的其他事情:

  • 在 SharePoint 的 Web UI 中,如果我转到列表属性并深入了解我的分类网站列,我注意到它显示它没有映射到术语集。请记住,如果我在站点设置中为我的内容类型做同样的事情,它看起来是正确的。我可以为 Web UI 创建的自定义列表做同样的事情,一切都很好(可在新表单中编辑,并且该字段已定义术语集)。
  • 如果我使用 powershell 转储站点列本身的信息,则它具有有效的术语集。
  • 如果我使用 powershell 转储 VS2012 创建列表中的字段信息,它会显示 SspId、TermSetId 和 TextField 的 emtpy guid。它还显示 IsTermSetValid = False。
  • 如果我使用 powershell 转储 SharePoint Web UI 创建列表中的字段信息,它会显示 SspId、TermSetId 和 TextField 的正确 guid。它还显示 IsTermSetValid = True。

有谁知道为什么我似乎对 VS 2012 创建自定义列表有这种行为?任何帮助表示赞赏。

4

1 回答 1

0

好的,所以我要回答我自己的问题。希望这将有助于将来的其他人。

我的问题是,在使用 SharePoint UI 为我的内容类型(在原始问题帖子中描述)创建示例列表时,添加了所需的注释字段。即使我在最初的 TaxonomyFieldType 声明中拥有此权利,但当我到达那部分时,我也会遇到我的字段值未显示在搜索优化器中的问题。值得庆幸的是,Ari Bakker 写了一个非常详细的解释,说明了创建自定义 TaxonomyFieldType 派生字段、使用它的自定义内容类型、列表定义和列表实例所需要做的一切。只需按照文章中的详细信息:http: //www.sharepointconfig.com/2011/03/the-complete-guide-to-provisioning-sharepoint-2010-managed-metadata-fields/

于 2013-09-14T22:19:20.007 回答