我有两个内容类型引用的字段,我在功能接收器中使用一些代码来隐藏标题字段。一种内容类型继承自另一种,但不添加任何内容,只更改名称。他们将会有不同的工作流程。问题是代码只隐藏一个内容类型的标题字段,而不是派生的内容类型。
SPList members = web.Lists["Inspections"];
SPField titleField = members.Fields["Title"];
titleField.ShowInNewForm = false;
titleField.ShowInEditForm = false;
titleField.Required = false;
titleField.Update();
答案 0 :(得分:1)
更新列表中的字段不会对子内容类型执行任何操作,因为列表中的每个内容类型都不是实际内容类型本身,而是“无声”子项。 (检查站点设置中类型的内容类型ID和列表中“相同”内容类型的内容类型ID。)
使用网站集的内容类型集合,更改字段和属性,然后调用内容类型对象的Update方法:
SPContentType.Update(true); // true means you want to push any changes made down to all child content types.