Is there any drawback to set ClientIDMode = Static on every object ( set on maincontent of master page)
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.
Sarawut Positwinyu
Updated on May 16, 2020Comments
-
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 almost 13 yearslink is broken. maybe try this: west-wind.com/weblog/posts/2009/Nov/07/…
-
Graham Clark almost 13 yearsI've updated the original link in my answer. Should work now! Thanks.
-
Jeyaganesh over 4 yearsif the button is inside of a user control then it wont work