SharePoint:您如何引用本地化列表?

时间:2009-12-16 16:35:44

标签: sharepoint

我有一个由功能安装的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?

3 个答案:

答案 0 :(得分:2)

所以你的清单是一个自定义列表,对吗?

您可以添加:

EnableContentTypes=TRUE 

到列表定义,您不需要该功能吗?

请参阅:List Element

答案 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