0

J'ai le contrôle Image suivant dans un répéteur. J'essaye d'obtenir le nom d'utilisateur pour rendre entre ~/profilepics/et .jpg mais j'obtiens la sortie rendue suivanteTentative d'incorporation d'un DataItem dans un ASP: Propriété ImageUrl du contrôle d'image

/profilepics/%3C%25#DataBinder.Eval(Container.DataItem,%20%22usernameFrom % 22)% 20% 25% 3E.jpg

Voici le balisage

<asp:Image ID="Image1" runat="server" ImageUrl='~/profilepics/<%#DataBinder.Eval(Container.DataItem, "username") %>.jpg' /> 

J'ai aussi essayé les mêmes, mais avec des guillemets doubles et obtenir le même résultat.

<asp:Image ID="Image1" runat="server" ImageUrl="~/profilepics/<%#DataBinder.Eval(Container.DataItem, "username") %>.jpg" /> 
+0

Je pense que la balise 'incorporée' est mal utilisée dans ce contexte. La balise fait référence aux «systèmes embarqués». – Clifford

+0

@clifford, je suis d'accord, tag enlevé ... –

+0

@ clifford, Jakob, d'accord aussi, ajouté 'tag d'évaluation tardive' à la place –

Répondre

0

Cela ne fonctionnera pas de cette façon. Image WebControl ne prendra pas ce type de balisage. La méthode courante consiste à utiliser l'événement ItemDataBound pour affecter la source d'image à chaque contrôle d'image dans un élément de répéteur.

Si vous souhaitez utiliser ces balises, ne pas utiliser WebControl, essayez ceci:

<img src='<%ResolveClientUrl("~/profilepics")%>/<%#DataBinder.Eval(Container.DataItem, "username") %>.jpg' /> 

Disclaimer: Je n'ai pas testé le code exact ci-dessus, mais le concept devrait fonctionner.

+0

Code a travaillé très bien! Merci o.k.w –

+0

Vous êtes les bienvenus, Vince. Heureux cela fonctionne :) –

1

Vous ne pouvez pas utiliser la syntaxe de liaison de données dans un contrôle serveur. Avez-vous essayé avec une balise HTML img simple à la place?

<img src='/profilepics/<%#Eval("username") %>.jpg' /> 
+0

@Jakob, la double citation pour src sera en conflit avec ceux à l'intérieur d'Eval. Sinon, cela fonctionnera. Nous ne pouvons pas non plus supposer que "/ profilepics" est à la racine du site. –

+0

@ o.k.w, vous avez raison, j'ai corrigé les guillemets. –