2009-07-09 4 views
4

Si j'ai ceci:Comment puis-je ajouter du texte à un champ de databound?

<img ID="imgField" runat="server" ImageUrl='<%# DataBinder.Eval(Container.DataItem,"Name") %>' /> 

Comment puis-je ajouter des « images/» ou toute autre chaîne ajouter à l'url?

J'ai essayé

ImageUrl=' "images/" + <%# DataBinder.Eval(Container.DataItem,"Name") %>' 

Et

ImageUrl= "images/" + '<%# DataBinder.Eval(Container.DataItem,"Name") %>' 

Et

ImageUrl='images/<%# DataBinder.Eval(Container.DataItem,"Name") %>' 

Mais aucun d'entre eux travaillaient. Quelqu'un sait?

Répondre

6
<img ID="imgField" runat="server" ImageUrl='<%# string.Format("images/{0}", DataBinder.Eval(Container.DataItem,"Name")) %>' /> 

Ou, si vous voulez raccourcir un peu ...

<img ID="imgField" runat="server" ImageUrl='<%# string.Format("images/{0}", Eval("Name")) %>' /> 

et je pense que cela devrait fonctionner aussi - mais ne dispose pas d'un projet devant moi pour le tester sur ...

<img ID="imgField" runat="server" ImageUrl='<%# Eval("Name", "images/{0}") %>' /> 
+0

merci. ça m'a aidé. – Shaahin

1
<img ID="imgField" runat="server" 
    ImageUrl='<%# "images/" + DataBinder.Eval(Container.DataItem,"Name") %>' /> 

ou à l'intérieur d'un gridview, vous pouvez utiliser une colonne ImageField:

<asp:GridView> 
    <Columns> 
    <asp:ImageField DataImageUrlField="Name" 
     DataImageUrlFormatString="images/{0}" /> 
    </Columns> 
</asp:GridView> 
0

Vous utilisiez <% au lieu du bon: <% #

+0

Vous avez raison d'avoir besoin du #, mais je l'ai déjà dans mon application, je ne l'ai pas écrit dans mon exemple. Merci! – Matt

Questions connexes