Is there any drawback to set ClientIDMode = Static on every object ( set on maincontent of master page)

34,468

Solution 1

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.

Solution 2

Another way to deal with the IDs in JavaScript would be to do something like this:

var something = '<%= btnId.ClientID %>';

Example: If you have a button control like this:

<asp:Button ID="btnId" runat="server"></asp:Button>    

and the ID is translated to id="ct100_ContentPlaceHolder1_btnId" then you could use the variable something to access the control.

Share:
34,468
Sarawut Positwinyu
Author by

Sarawut Positwinyu

Updated on May 16, 2020

Comments

  • Sarawut Positwinyu
    Sarawut Positwinyu almost 4 years

    I am working on asp.net project and each time i need to use jquery identifier $(#"objectID"). I have to change the ClientIDMode on each object to be static. Since I have noticed that the default client ID mode is Inherit so i set the MainContent Client ID mode to be static and i have found that all the object became static.

    This will sure save a lot of time when working with jquery, but i just want to know is there any drawback from this and is there any reason why shouldn't ClientIDMode set to be static at the first place ?

  • Homer
    Homer almost 13 years
    link is broken. maybe try this: west-wind.com/weblog/posts/2009/Nov/07/…
  • Graham Clark
    Graham Clark almost 13 years
    I've updated the original link in my answer. Should work now! Thanks.
  • Jeyaganesh
    Jeyaganesh over 4 years
    if the button is inside of a user control then it wont work