begin process at 2010 02 09 18:40:21
  Trouver un code source :
 
dans
 
Accueil > Forum > 

ASP.NET

 > 

Divers

 > 

Autre

 > 

Problème d'ID (changement automatique)


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Problème d'ID (changement automatique)

mercredi 16 janvier 2008 à 16:41:03 | Problème d'ID (changement automatique)

niki1291

Bonjour à toutes et à tous,

Voilà mon problème, j'ai un bout de code (le suivant) :

<table style="width: 410px;">
  <tr>
    <td><asp:DropDownList runat="server" AutoPostBack="false" ID="DdlActionToDo">
      <asp:ListItem Text="1" Value="0" Selected="True"/>
      <asp:ListItem Text="2" Value="1" />
      </asp:DropDownList></td>
    <td style="text-align: right;"><asp:Button ID="BtnActionToDo" runat="server" Text="Do this action"
      OnClientClick="if (document.getElementById('DdlActionToDo').value == '3') { return confirm('Are êtes-vous sûr de... ?') } else { return true }" /></td>
  </tr>
</table>

Lors de l'affichage du code dans le navigateur, l'ID du "DropDownList" est renommée en "ctl00_maincontent_DdlActionToDo" du coup, le javascript indique une erreur (objet non trouvé).

J'ai essayé de remplacer "getElementById('DdlActionToDo')" par "getElementById('<%= DdlActionToDo.ID.ToString()%>')" mais sans succès. De plus, je suis obligé d'utiliser un champ "DropDownList" car je dois y accéder depuis le serveur (je ne peux donc pas le remplacer par un select).

Solution de remplacement temporaire trouvée, remplacr "getElementById('DdlActionToDo')" par "getElementById('ctl00_maincontent_DdlActionToDo')". Mais ne sachant pas comment cette nouvelle ID est nommée, je préférerais une autre méthode (de peur que le nom change (à première vue, ce n'est pas le cas)).

Quelqu'un sait-il comment ces noms d'ID sont créés ?
Quelqu'un connaît-il une autre méthode ?

Merci d'avance.

Amicalement,
Niki

mercredi 16 janvier 2008 à 19:37:39 | Re : Problème d'ID (changement automatique)

fabienfs

Membre Club Administrateur CodeS-SourceS
Hello,

Je pense pas qu'il y ai moyen d'enlever la fonction automatique qui définit un texte devant tes ID.
Il s'agit de l'ID d'un contrôle pour lequel on a pas explicitement renseigné d'ID, dans ce cas si ton ID est null ou vide, ASP.net va automatiquement générer un ID. Mais même si tu as défini un ID il te générera automatiquement cet ID avant le tiens.

Néamoin, tu peux toujours changer le ctl00 en ce que tu veux via la fontion this.ID ="tontexte"; a mettre dans le code-behind dans le init de ta page par exemple.

Aussi non, le plus simple est de générer ton code JS en StringBuilder comme ceci par exemple :

build.Append("<a onclick=\" Affich('"+this.ID+"', '"+this.ID+"_coll' ) \" class='titlebar'>"+this.Titre+"</a>");

Comme ca ASP.net écrira automatiquement ton code JS avec les bons ID.

A++


Fabien Schenkels (alias fabienfs)


Cette discussion est classée dans : problème, changement, id, getelementbyid, ddlactiontodo


Répondre à ce message

Sujets en rapport avec ce message

problème récupération d'un text [ par lenneth666 ] arf je suis débutant avec les datagrid alros dsl si j'innonde le forum avec mes messages.Voila mon problème, une fois que je suis passé un mode éditio Utiliser le XML [ par slednet69 ] 'lutAlors voici mon problème ou du moins mon interrogation....J'ai un doc XML qui ressemble à çà :xm Problème de niveau avec les ID [ par niki1291 ] Bonjour à toutes et à tous, J'ai un problème avec des champs "asp:TextBox" et "asp:ImageButton". Je leur attribue une ID à chacun mais n'arrive pas à Formulaire dynamique [ par nindy13 ] Bonjour,Je suis en train de mettre sur pied un projet de formulaire dynamique. Je début en asp.net VB (avant je bossais en asp.net C# mais je faisais Empêcher "multiclique" [ par alloyves ] Bonjour,Je sais pas si j'ai choisi le bon thème mais voici mon problème : Je développe une appli web en VB.NET dont la première page est un formulaire Problème av Ajax dans une appli standard [ par fcruveillier ] Bonjour,J'ai installé tous les composants nécessaires à l'utilisation d'Ajax dans une application vb.net existante. (du moins il me semble!). Le tout probleme d'affichage [ par mahaabdallah ] Bonjour tout le monde,J'utilise Visual Web Developer 2005 pour afficher une base de connaissance qui appartenait à un ancien serveur pour la faire mig Problème IIS : plus aucun message d'erreurs [ par kitati ] Bonjour à tous,Depuis quelques jours, mon serveur IIS ne renvoit plus aucun message d'erreur.J'ai bien dans mon web.config :Donc par exemple je fais u Problème de Persistance des Objets/Variables [ par leflo06 ] Bonjour !Je developpe actuellement un Application Web en Asp.Net.Voici Mon problème :une partie du contenu dynamique de ma page est généré dans un Pan


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,296 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales