You want to be careful about setting the ClientIDMode to Static for things like user controls, or you could end up with multiple elements with the same ID.
For data-bound controls like GridView, you’ll also want to use the ClientIDRowSuffix property in order to ensure each row is differentiated.
This post has some good examples.