我有一个由功能安装的SharePoint列表。
我需要在功能接收器中启用我这样做的内容类型:
SPList list = site.Lists["NameOfList"];
list.ContentTypesEnabled = true;
list.Update();
问题在于它似乎是方法:site.Lists [“NameOfList”],实际上是在查看Title而不是ID。
如何使用ID获取列表,而不是因为本地化而可能更改的标题......
<ListInstance
TemplateType="10051"
Id="ThisISTheIDField" //Want to retrieve list instance based on this field.
Title="$Resources:MyFile,MyResourceName;"
Url="Lists/URLOFList"
OnQuickLaunch="TRUE">
</ListInstance>
提前致谢。对于MS SharePoint开发人员而言,10年的冰雹Maries,我写了这个内部敢于说 - c.r.a.p?
答案 0 :(得分:2)
答案 1 :(得分:1)
没有site.Lists(也许是SPWeb?命名很尴尬,我知道)
<SPWeb Instance>.Lists.GetList(Guid uniqueId, bool bFetchMetadata)
<SPWeb Instance>.Lists.GetList(Guid uniqueId, bool bFetchMetadata, bool bFetchSecurityData)
<SPWeb Instance>.GetList(string strUrl)
第三个选项可以组合url并使用内部名称来获取它(在URL列表中通过内部名称访问)
答案 2 :(得分:0)
如果操作必须在一生中只完成一次,我建议通过.Lists集合循环并检查baseTemplate是否匹配:
For Each oList In web.Lists
If (list1.BaseTemplate = 10051) Then
oList.ContentTypesEnabled=True
End If
Next