0

コンテンツタイプIDしかない場合、サイト/ Webからリストを取得する方法を見つける必要があります。約500以上のリストがあり、次のようなものを「foreach」したくありません。

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  
                            }

                        }

                    }

                }
            }

これを行う方法を見つけましたが、サンドボックスソリューションでは機能しません。 http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spcontenttypeusage.getusages.aspx

4

1 に答える 1

1

解決策だったこのコード:

  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>";

ここに、urコンテンツタイプのリストがあります

于 2013-03-28T14:32:04.090 に答える