2009-05-11 8 views
0

J'essaie d'utiliser une étiquette dans mon datarepeater, quand je suis capable de lier des données et de m'écrire la page html.Etiquette texte dans datarepeater

<asp:Label ID="lblID" runat="server"><%# DataBinder.Eval(Container.DataItem, "ID")%></asp:Label> 

qui fonctionne bien. Lorsque j'essaie d'obtenir une valeur textuelle, j'obtiens "".

Etiquette lblcurrentID = ri.FindControl ("lblID") en tant qu'étiquette;

Résultat: lblcurrentID.text = ""

ce même code fonctionne très bien pour le dropdownlist que j'ai dans le DataRepeater. Je me demande si cela n'a rien à voir avec le fait que l'étiquette soit convertie en balise span.

<span id="template6_middlecontent1mAzoaNominationApproval0_dataReaper_ctl01_lblID">2009040100000888213</span> 

Répondre

0

J'ai rencontré ce problème avant, je ne me souviens pas réellement trouver une solution au problème, comme un travail autour, j'ai utilisé un <asp:HiddenField> pour conserver les informations pour moi:

<asp:HiddenField runat="server" id="hiddenId" value='<%# Eval("Id") %>' /> 

Notez le "au lieu de" envelopper la déclaration Eval BTW, .NET est difficile quand vous attribuer des valeurs aux commandes du serveur.

0

vous devez lier lblD.Text avec la valeur pas comme

<% # DataBinder.Eval (Container.DataItem, "ID")%>