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

◇◆丶佛笑我妖孽 提交于 2019-12-17 09:45:13

问题


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 ?


回答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.




回答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.



来源:https://stackoverflow.com/questions/6057490/is-there-any-drawback-to-set-clientidmode-static-on-every-object-set-on-main

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!