Usuário com melhor resposta
Atributos id name

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+
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
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
-
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á...... -
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
-
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
-
-
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 -
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