¿Hay algún inconveniente en establecer ClientIDMode = Static en cada objeto (establecido en maincontent de la página maestra)


Estoy trabajando en asp.net y cada vez que necesito usar jquery identifier identifier (#"ObjectId"). Tengo que cambiar el ClientIDMode en cada objeto para que sea estático. Dado que he notado que el modo de ID de cliente predeterminado es Inherit, configuré el modo de ID de cliente mainContent para que sea estático y he encontrado que todo el objeto se volvió estático.

Esto seguramente ahorrará mucho tiempo al trabajar con jquery, pero solo quiero saber si hay algún inconveniente de esto y hay alguna razón por la que ¿no debería ClientIDMode ser estático en primer lugar ?

Author: Sarawut Positwinyu, 2011-05-19

2 answers

Debe tener cuidado al establecer el ClientIDMode en Estático para cosas como controles de usuario, o podría terminar con varios elementos con el mismo ID.

Para controles enlazados a datos como GridView, también querrá usar la propiedad ClientIDRowSuffix para asegurarse de que cada fila esté diferenciada.

Este post tiene algunos buenos ejemplos.

 17
Author: Graham Clark,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-07-15 14:37:46

Otra forma de tratar con los IDs en JavaScript sería hacer algo como esto:

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

Ejemplo: Si tienes un control de botón como este:

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

Y el ID se traduce a id="ct100_ContentPlaceHolder1_btnId" entonces podría usar la variable something para acceder al control.

 4
Author: Krishna Tummalapalli,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-10-24 17:57:57