Introduction
In this article you will see how to get the list content types in SharePoint 2010 using ECMAScript. I have a list named "List Request" which has the following content types (Navigate to the list, click on List tab in the ribbon interface. Click on List Settings button).
- Item.
- Folder.
- Central Content Type.
Steps Involved
- Navigate to the SharePoint site (I have a site page created in my site where I am going to add the content editor web part).
- Go to Site Actions, click on the Edit Page.
- Click on the Insert tab in the ribbon interface and then click on the Web Part button.
- Select Media and Content in the Categories section and then click on Content Editor.
- Click on Add.
- The Content Editor web part will be added to the site page.
- Click on the down arrow and then click on Edit Web Part.
- Click on "Click here to add new content".
- Click on Format Text tab in the ribbon interface and then click on HTML drop down.
- Click on Edit HTML source.
- HTML source window will pop up.
- Copy and paste the following script.
<script language="ecmascript" type="text/ecmascript">
var contentTypeCollection;
var listCollection;
var list;
function getListContentTypes() {
var clientContext = new SP.ClientContext.get_current();
if (clientContext != undefined && clientContext != null) {
var web = clientContext.get_web();
this.listCollection = web.get_lists();
this.list = listCollection.getByTitle("List Request");
this.contentTypeCollection = list.get_contentTypes();
clientContext.load(this.contentTypeCollection);
clientContext.executeQueryAsync(Function.createDelegate(this, this.onQuerySucceeded), Function.createDelegate(this, this.onQueryFailed));
}
}
function onQuerySucceeded() {
var contentType = 'List Content Types:\n '
var contentTypeEnumerator = this.contentTypeCollection.getEnumerator();
while (contentTypeEnumerator.moveNext()) {
var content = contentTypeEnumerator.get_current();
contentType += content.get_name() + '\n';
}
alert(contentType);
}
function onQueryFailed(sender, args) {
alert('Request failed. ' + args.get_message() + '\n' + args.get_stackTrace());
- Click on Ok.
- In the ribbon interface click on Save & Close button.
- In the content editor web part you can find a button named "Get List Content Types"; click on that button.
- An alert will pop up displaying the list content types.
Reference
SP.List.contentTypes Property - http://msdn.microsoft.com/en-us/library/ee556719.aspx
Summary
Thus in this article you have seen how to get the list content types in SharePoint 2010 using ECMAScript.