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

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 ?

Answers:

Thank you for visiting the Q&A section on Magenaut. Please note that all the answers may not help you solve the issue immediately. So please treat them as advisements. If you found the post helpful (or not), leave a comment & I’ll get back to you as soon as possible.

Method 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.

Method 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.


All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0

0 0 votes
Article Rating
Subscribe
Notify of
guest

0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x