none
Atributos id name RRS feed

  • Pergunta

  •  

    Pessoal, qual é a diferença entre os atributos id e name nas tags HTML?

    Qual é a relação delas nas versões da HTML e da XHTML?

    Quando tiver programando (ASP.NET, JavaScritp), quem eu devo usar como  identificador? id ou name?

    Devo definir esse dois atributos ou usar apenas um deles?

     

    Agradeço desde já e aguardo a resposta de vcs. t+

     

     

    quarta-feira, 18 de julho de 2007 18:23

Respostas

  • Oi !

     

    <script language="javascript">

    var nomeobjeto='<%# objeto.clientid %>'

    </script>

     

    O único problema é que este tipo de binding exige que seja chamado databind para ser processado. Uma possível solução seria :

     

    <span id="teste" runat="server">

    <script language="javascript">

    var nomeobjeto='<%# objeto.clientid %>'

    </script>

    </span>

     

    E no codebehind :

     

     

    teste.databind

     

     

    Minha única dúvida fica no fato de que o span é um objeto HTML, não tenho certeza se tem o databind, só testando.

     

    É claro que você poderia fazer page.databind, mas além de pesado isso poderia afetar sua lógica, pois afetaria todos os objetos da sua página.

     

    []'s

     

     

     

     

    sexta-feira, 20 de julho de 2007 13:17

Todas as Respostas

  • Oi !

     

    Use sempre o ID e evitará problemas...

     

    O ASP Classico usava name e internamente o name é usado na passagem pelo protocolo post, mas em geral se você utilizar o ID não terá problemas, especialmente quando estiver programando em javascript.

     

    Mas lembre-se que dependendo da colocação do objeto o ID dele pode mudar, talvez você precise, pelo servidor, gerar o id do objeto através da propriedade clientid.

     

    []'s

     

    quinta-feira, 19 de julho de 2007 02:10
  • Não entendi sua observação....

    "Mas lembre-se que dependendo da colocação do objeto o ID dele pode mudar, talvez você precise, pelo servidor, gerar o id do objeto através da propriedade clientid."

    pode explicar um pouco mais detalhado..............agradeço desde já......
    quinta-feira, 19 de julho de 2007 18:46
  • Oi !

     

    Digamos que você monte um javascript para manipular uma textbox pelo ID dela.

     

    Por alguma razão, depois disso você move a textbox para dentro de uma templateCollumn de uma gridview.

     

    Com isso o ID da textbox não será o mesmo ID que você esperava, ID do servidor. Para resolver isso você descobre o ID que a textbox terá quando estiver no client através da propriedade clientID

     

    []'s

     

    quinta-feira, 19 de julho de 2007 21:15
  • Quanto a dúvida entre ID e Name, o que ocorre, a propriedade Name, é utilizado pelo JIT do .NET, que de qualquer forma gera um ID para o código final da página HTML que é enviada para o client. Ou seja, todos os controles do ASP.NET utilizam a propriedade Name, como identificador, quando o server renderiza a página e aprontra para o cliente, eles passam a ter a propriedade id, que pode ser obtira pelo ASP.NET em tempo de execução (Run Time) pela Propriedade ClientID.

     

    Não sei se fui bem claro, mas é simples a sistemática.

     

    Caso prescise de mais esclarecimentos me avise, terei prazer em ajudar.

     

    []'z

    sexta-feira, 20 de julho de 2007 01:50
  • Oi !

     

    Acho que trocou alguma coisa, já que todos os webControls são identificados pela propriedade ID a nível de servidor (name é usado em windows forms). Esse ID realmente podendo mudar quando ocorre a renderização para o client.

     

    []'s

    sexta-feira, 20 de julho de 2007 02:12
  • Pessoal, código javascript é quase sempre escrito no cliente (apesar de vc poder mandar escrever via servidor). Se eu escrevo um código js pra manipular um objeto de id x, e o servidor (eventualmente?) mudar esse id, como vou fazer pra esse código funcionar?

    Existe o atributo clientID via javascript? ou isso só realmente seguro se gerar o código javascript via servidor?

    tem algum exemplo?..............

    ps: tenham paciência eheeheheheh....vai sobrar útil pra todo mundo
    sexta-feira, 20 de julho de 2007 11:21
  • Oi !

     

    <script language="javascript">

    var nomeobjeto='<%# objeto.clientid %>'

    </script>

     

    O único problema é que este tipo de binding exige que seja chamado databind para ser processado. Uma possível solução seria :

     

    <span id="teste" runat="server">

    <script language="javascript">

    var nomeobjeto='<%# objeto.clientid %>'

    </script>

    </span>

     

    E no codebehind :

     

     

    teste.databind

     

     

    Minha única dúvida fica no fato de que o span é um objeto HTML, não tenho certeza se tem o databind, só testando.

     

    É claro que você poderia fazer page.databind, mas além de pesado isso poderia afetar sua lógica, pois afetaria todos os objetos da sua página.

     

    []'s

     

     

     

     

    sexta-feira, 20 de julho de 2007 13:17