How to: Hide a Menu Item in the ECB from SharePoint List Items

This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This page may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.

You can add new custom actions to the Edit Control Block (ECB) menu by using the Features framework. However, you cannot use this method to do the reverse – to hide existing ECB menu items– because they are rendered by using the JavaScript file, which is core.js. Note that modifying the core.js file is not supported or recommended.

Therefore, to hide ECB menu items, you must create a customcore.js file, modify this file to hide menu items, and then render the customcore.js file through a custom master page. Note that the built-in core.js file must remain in the custom master page; for that reason, your customcore.js file should have an attribute “Defer” with the value true.

The following steps allow you to create a customcore.js file and render it through the custom master page.

Hiding ECB menu items

  1. Copy the core.js file from its default location at <%Program files %>\common files\Microsoft shared\web server extensions\12\Template\layouts\1033, place it in the same folder, and rename as customcore.js file.

  2. Make the necessary changes in the customcore.js file by removing unwanted ECB menu items.

  3. To create the custom master page, make a copy of the default.master page and rename it as custom.master.

  4. In the custom master page, add the following line to render the customcore.js file:

    <SharePoint:ScriptLink language="javascript" name="core.js" Defer="true" /><SharePoint:ScriptLink language="javascript" name="customcore.js" Defer="true" />

  5. Save the custom.master page and upload it to the master pages gallery of the site. Then apply the custom.master page as the default master page for the site.