C# 按ID查找具有specyfic内容类型的列表
我需要了解如何从站点/网站获取列表如果我只有内容类型ID,那么大约有500多个列表我不想“foreach”如下:C# 按ID查找具有specyfic内容类型的列表,c#,linq,sharepoint-2010,caml,C#,Linq,Sharepoint 2010,Caml,我需要了解如何从站点/网站获取列表如果我只有内容类型ID,那么大约有500多个列表我不想“foreach”如下: using (SPSite _SiteCollection = SPContext.Current.Site) { using (SPWeb _web = _SiteCollection.OpenWeb()) { foreach (SPList _list in _web.Lists)
using (SPSite _SiteCollection = SPContext.Current.Site)
{
using (SPWeb _web = _SiteCollection.OpenWeb())
{
foreach (SPList _list in _web.Lists)
{
foreach (SPContentType _type in _list.ContentTypes)
{
if (_type.Id == ContentTypeIds.ocTodoCTId)
{
foreach (SPListItem _item in _list.Items)
{
//bla bla bla
}
}
}
}
}
我找到了一种方法来实现这一点,但它不适用于沙盒解决方案。
此代码是一个解决方案:
SPSiteDataQuery query = new SPSiteDataQuery();
query.Webs = "<Webs Scope=\"SiteCollection\">";
query.Lists = "<Lists BaseType='1' />";
query.Query = "<Where><BeginsWith><FieldRef Name='ContentTypeId'/><Value Type='Text'>" +
"0x0101006d76968475dd473f92fbdec03bbff85e" +
"</Value></BeginsWith></Where>";
SPSiteDataQuery query=new SPSiteDataQuery();
query.Webs=“”;
query.Lists=“”;
query.query=“”+
“0x0101006d76968475dd473f92fbdec03bbff85e”+
"";
在这里,我们列出了您的内容类型我的工作是在3个循环中使用foreach。。。谢谢你,阿列克谢,这就是我要找的!