When we want to add a custom button to a list toolbar we can add it by using a feature.But when we are activating the feature it will be apply to the scope secified, so all the lists present inside the scope will have a button added to it’s toolbar. But if we want to add the button to a particular list then we need to specify the content type ID of the list.
To get the content type id of a list we need to follow these steps:
1. go to the list =>Settings=>List Settings=>Advance Settings=>click yes to the allow management content type
=>ok=>Now in the list setting page you will see a content type click the content type =>In the url you will see a value like
"ctype=0x010046759B602A72384BB7F4C50DEA9EE828"
This is the content type id for the list.
2. Now if you want to get it programatically then you can use this one:
oSPWeb.Lists["listname"].ContentTypes[0].Id.ToString();
Now we need to create the feature.xml file :
Here id is the feature id which is a GUID.
Scope is web, which means the feature will be available to all the subsites also
Hidden is false, which means the feature will be visible in the feature list for a site (Where you can activate the feature)
Next: Create the Element.xml file:
Here we need to add a custom action .
Here the RegistrationId is the content type id of the list and Url is the path to navigate when the user clicks the button.