SharePointファーム内のサイトコレクションからすべてのContentTypesを取得する方法。 SharePointオブジェクトモデルを使用してこれを実行したいと思います。どんな助けもありがとう。SharePointファーム内のサイトコレクションからすべてのContentTypesを取得する方法
答えて
それはこのように行うことができます。
public void ListContentTypes(string siteUrl)
{
try
{
using (SPSite site = new SPSite(siteUrl))
{
using (SPWeb web = site.OpenWeb())
{
ListContentTypes(web);
}
}
}
catch (Exception ex)
{
// add some proper error handling here
}
}
public void ListContentTypes(SPWeb web)
{
foreach (SPContentType ct in web.ContentTypes)
{
// do whatever you want to do with the content type here
}
foreach (SPWeb subWeb in web.Webs)
{
try
{
ListContentTypes(subWeb);
}
finally
{
if (subWeb != null)
{
subWeb.Dispose();
}
}
}
}
これは、サイトコレクション内に存在するすべてのコンテンツタイプを見つけることではなく、すべてのコンテンツタイプはサイトコレクション全体で利用できるようになりますことを覚えているでしょう。例えば、サブサイトに存在するコンテンツタイプ 'Product'がある場合、上記のコードはそれを見つけますが、それは下位レベルで定義されているため、ルートWebで使用することはできません。
は、この方法を試してください。urWeb.AvailableContentTypes
は、この1つはサイト内のすべてのSPWeb年代にすべてのタイプのためにそれを行います。重複が生成されることに注意してください。
public void GetContentTypes()
{
string siteUrl = "Add site url here";
using (SPSite site = new SPSite(siteUrl))
{
foreach (SPWeb web in site.AllWebs)
{
foreach (SPContentType item in web.ContentTypes)
{
Debug.WriteLine(item.Name);
}
foreach (SPList list in web.Lists)
{
foreach (SPContentType item in list.ContentTypes)
{
Debug.WriteLine(item.Name);
}
}
web.Dispose();
}
}
}
私はルートウェブだけでなく、すべてのウェブを見なければなりません! –
@Anna Karin、私はすべてのウェブを更新しました –
site.AllWebsで取得した各SPWebを廃棄する必要があります –
- 1. Webアプリケーション内のすべてのサイトコレクションを取得する方法
- 2. Sharepoint 2010ファームからフロントエンドサーバーを取得する方法
- 3. 特定のSharePoint 2007 Webアプリケーション内のすべてのサイトコレクションを取得するクライアントサイドコンソールアプリケーション
- 4. サイトコレクション内のすべてのファイルをコンテンツタイプ別に取得する
- 5. SharePoint 2013でドキュメントライブラリアイテムを1つのサイトコレクションから別のサイトコレクションにコピーする方法
- 6. サイトコレクション内のすべてのユーザープロファイルを取得するにはどうすればよいですか? (SharePoint Online O365)
- 7. JavaScriptを使用して複数のサイトコレクションからSharePointリストアイテムを取得する方法
- 8. SharePoint内のすべてのユーザーの一覧を取得する方法
- 9. SharePoint Online:ユーザーが所属するすべてのサイトコレクションを検索
- 10. SharePoint 2013の1つのサイトコレクションから別のサイトコレクションへのエクスポート
- 11. sharepointサーバ上のすべてのsharepoint Webアプリケーションをプログラムで取得する方法
- 12. すべてのリストを取得せずにサイトコレクションのすべてのサイトを取得しますか?
- 13. javascriptを使用してSharePointサイトコレクションのURLを取得するには?
- 14. Sharepointサイトコレクションに展開されたppsダッシュボードからMDXを取得します。
- 15. stsadmコマンドを使用する - SharePoint 2007、サイトコレクションURLを使用してコンテンツDB名を取得する方法
- 16. SharePointサイト/サイトコレクションのサイズを確認する
- 17. Microsoft GraphからすべてのSharePointニュースを取得
- 18. ListViewカスタムアダプター内のスピナーからすべての値を取得する方法
- 19. シーン内のすべてのオブジェクトをコンポーネントから取得する方法は?
- 20. サイトコレクションのドキュメントライブラリから別のサイトコレクションにドキュメントをプログラムで移動(アーカイブ)する方法
- 21. サイトコレクション内のドキュメントライブラリのサイズを取得する
- 22. Sharepoint 2010ユーザーグループからカスタム列の値を取得する方法
- 23. C#を使用してプログラムでSharePointサイトからすべての画像ライブラリのリストを取得する方法
- 24. SharePointサイトコレクションまたはサイトを自動的にバックアップする方法
- 25. 追加するサイトコレクションは、SharePoint 2010の
- 26. リダイレクトSharePoint 2007サイトコレクションURL
- 27. データフレーム内のすべてのユニークワードを取得する方法は?
- 28. クラス内のすべてのliタグを取得する方法
- 29. nhibernate内のすべてのオブジェクトを取得せずにデータベースからn個のオブジェクトを取得する方法
- 30. すべてのmshtml.IHTMLDivElementをIHTMLDocument2から取得する方法は?
インストールされている、または選択されていない、使用されている/使用されていないすべてのインストール済みのContentTypesが含まれていますか? –
はい...試してみてください – Grace
このプロパティの問題は、下位レベルで定義されているコンテンツタイプが得られないことです。したがって、サイトコレクションからすべてのコンテンツタイプが返されるわけではありません。特定のWebとそのすべての親Webで定義されたコンテンツタイプを提供します。 –