2009-04-01 5 views
0

Je travaille sur une page ASP.NET et j'ai une liste de données avec une étiquette non visible, ID, à l'intérieur. Le Datalist est rempli par la requête A.ASP.NET Gestionnaire d'événements pour l'étiquette dans Datalist

J'essaye d'ajouter un gestionnaire dans mon code VB où il exécutera la requête B, remplissant une étiquette différente dans le modèle d'article, après que l'identification soit changée. Je me dis que je dois aller quelque part dans la DataList, mais piquer par Intellisense et une recherche google n'ont pas réussi. Est-ce que quelqu'un sait comment j'arrive à cette étiquette? Désolé si c'est une question stupide, et merci pour l'aide. Editer: Je vois comment je peux accéder aux éléments datalist à l'intérieur de la fonction, mais comment puis-je le faire pour seulement une partie du contrôle DataList dans le gestionnaire d'événements? Toutes les options que je vois sont liées à des événements complets impliquant la liste de données, pas une seule modification d'étiquette. Merci.

Edit 2:

je me suis dit que j'ajouter un code, afin de mieux expliquer exactement la question exacte que je vais avoir.

   <asp:DataList ID="DataList1" runat="server" DataSourceID="Omitted,Ilikemyjob"> 
       <ItemTemplate> 
         <asp:Label ID="FromLabel" runat="server" Font-Size="Small" Text='<%# Eval("IncdntDate") %>'></asp:Label><br /> 
         <asp:Label ID="ToLabel" runat="server" Font-Size="Small" Text='<%# Eval("Roadway") %>'></asp:Label><br /> 
         <asp:Label ID = "lblCrossroad" runat ="server" Font-Size = "Small" Text = '<%# Eval("Crossroad") %>'></asp:Label><br /> 
         <asp:Label ID = "lblRdwyID" runat ="server" Font-Size="Small" Visible = "false" Text = '<%# Eval ("RdwyID") %>'></asp:Label> 
         <asp:Label ID = "DistanceLabel" runat ="server" Font-Size = "Small" Text = '<%# Eval("RptTime") %>'></asp:Label><br /> 
         <asp:Label ID = "lblTTime" runat ="server" Font-Size = "small" visible ="false"></asp:Label> 
         <hr /> 
       </ItemTemplate> 
      </asp:DataList><br /> 

Il y a la chose DataList que je fais, et j'ai une autre requête que je veux stocker la valeur à lblTTime si lblRdwyID est réglé sur une certaine plage de valeurs, la pensée qu'il ne sera pas toujours être à une valeur.

J'essaie de configurer un événement qui se déclenchera lorsque lblRdwyID est défini, qui lancera l'autre requête et définira la valeur de ce modèle d'éléments lblTTime et le rendra visible. Y at-il un bon moyen de le faire? J'ai essayé de déconner avec les événements de DataList1, mais je n'ai rien pu faire.

Répondre

0

En supposant que vous avez la ligne, vous utilisez:

row.FindControl (« mylabelid »)

1

Si votre étiquette a sa visibilité sur false, il ne sera pas rendu à l'écran (par opposition avoir un bloc div avec visibilité mis à caché), et donc je parie que c'est pourquoi vous ne pouvez pas réellement trouver le contrôle après que la liaison a eu lieu.

Avez-vous essayé d'utiliser la propriété DataKey pour stocker l'ID à la place? Il est facilement accessible au niveau des lignes et vous pouvez stocker des données supplémentaires en cas de besoin.

+0

@ Dillie-O l'OP semble parler côté serveur, donc même s'il n'est pas rendu au client, il ne l'affectera pas. Cela dit, si tout le PO est d'obtenir l'ID de la ligne, je suis d'accord sur l'utilisation des DataKeys à la place. – eglasius

Questions connexes