Get The Content Type by id in SharePoint 2010 Using ECMA Script


Introduction

In this article you will see how to get the content type by id in SharePoint 2010 using ECMAScript. I have a content type named "Custom Content Type" that belongs to "Custom Content Types" group (Navigate to the site, click on Site Actions. Click on Site Settings. In the Galleries section, click on Site Content Types).


LstCntSHr.gif

Steps Involved

  1. 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).
  2. Go to Site Actions, click on Edit Page.

    LstCntSHr1.gif
     
  3. Click on Insert tab in the ribbon interface and then click on Web Part button.

    LstCntSHr2.gif
     
  4. Select Media and Content in the Categories section and then click on Content Editor.

    LstCntSHr3.gif
     
  5. Click on Add.
  6. Content editor web part will be added to the site page.
  7. Click on the down arrow and then click on Edit Web Part.

    LstCntSHr4.gif
     
  8. Click on "Click here to add new content".

    LstCntSHr5.gif
     
  9. Click on the Format Text tab in the ribbon interface and then click on the HTML drop down.

    LstCntSHr6.gif
     
  10. Click on Edit HTML source.
  11. HTML source window will pop up.

    LstCntSHr7.gif
     
  12. Copy and paste the following script.

    <script language="ecmascript" type="text/ecmascript">

            var contentTypeCollection;
            var contentType;

            function getContentTypebyId() {
                var clientContext = new SP.ClientContext.get_current();
                if (clientContext != undefined && clientContext != null) {
                    var web = clientContext.get_web();
                    this.contentTypeCollection = web.get_contentTypes();
                    this.contentType = contentTypeCollection.getById("0x0100FFC434A461E47E4EB81D3FD76D42BFBF");
                    clientContext.load(this.contentType);
                    clientContext.executeQueryAsync(Function.createDelegate(this, this.onQuerySucceeded), Function.createDelegate(this, this.onQueryFailed));
                }
            }

            function onQuerySucceeded() {
                alert(this.contentType.get_name())
            }

            function onQueryFailed(sender, args) {
                alert('Request failed. ' + args.get_message() + '\n' + args.get_stackTrace());
            }</script>
        <input id="btnGetContentTypebyId" onclick="getContentTypebyId()" type="button" value="Get content type by Id"
    />

     

  13. Click on Ok.
  14. In the ribbon interface click on Save & Close button.

    LstCntSHr8.gif
     
  15. In the content editor web part you can find a button named "Get content type by id": click on that button.

    LstCntSHr9.gif
     
  16. An alert will pop up displaying the content type name as shown in the following

    LstCntSHr10.gif
     
  17. Go to Site Actions, click on Site Settings. In the Galleries section, click on Site Content Types.

Reference

SP.ContentTypeCollection.getbyid Property - http://msdn.microsoft.com/en-us/library/ee659536.aspx

Summary

In this article you have seen how to get the content type by id in SharePoint 2010 using ECMAScript.