我正在使用 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 创建自定义列表有这种行为?任何帮助表示赞赏。