2017-08-12 2 views
0

i ont un code comme le suivant:comment lier des images au contrôle d'image avec Eval à partir de dossiers différents?

<asp:ImageButton ID="ImageButton1" runat="server" ImageUrl='<%# "../Image/Products/1/" + Eval("P_Pic") %>' /> 

ceci est pour la lecture de l'adresse d'image à partir du dossier de contrôle .imageButton est à l'intérieur listview, et les données retrive de plus d'une table et images se trouvent dans différents dossiers ... il signifie que cette partie du code: "../Image/Products/1/" doit être différente pour chaque table.que vous m'aidez à gérer cela s'il vous plaît? merci note: chaque table est pour un produit différent et ce code est en raison de la fusion de tous produit pour montrer

+0

Difficile à comprendre la question. Pourquoi ne pas stocker le chemin de l'image dans la base de données? – IrishChieftain

+0

par exemple j'ai 6 catégorie de produits et les visiteurs avec le menu de site ont choisi une catégorie, vont à la page liée et ... et une autre option existe que le visiteur cliquent sur montrent tout le produit .now au commencement j'ai sauvé chaque image de produit dans le dossier séparé, Donc quand je veux montrer tout le produit, seulement rencontrer un problème, différents dossiers et comment adresser le contrôle avec des méthodes d'exécution comme Eval. – BAHA2R

+0

Utilisez un dossier pour toutes les images? – IrishChieftain

Répondre

0

j'ai trouvé un moyen de gérer cette

public string GetImage(object P_Pic) 
    { 
     if (P_Pic != null & ProductCategory == "a") 
     { 
      string Pic = "../Image/Products/a/" + P_Pic; 
      //do something with the ImageID to return the image path as string 
      return Pic; 
     } 
     else if (P_Pic != null & ProductCategory == "b") 
     { 
      string Pic = "../Image/Products/b/" + P_Pic; 
      return Pic; 
     } 
     else if (P_Pic != null & ProductCategory == "c") 
     { 
      string Pic = "../Image/Products/c/" + P_Pic; 
      return Pic; 
     } 
     else if (P_Pic != null & ProductCategory == "d") 
     { 
      string Pic = "../Image/Products/d/" + P_Pic; 
      return Pic; 
     } 
     else if (P_Pic != null & ProductCategory == "e") 
     { 
      string Pic = "../Image/Products/e/" + P_Pic; 
      return Pic; 
     } 
     else if (P_Pic != null & ProductCategory == "f") 
     { 
      string Pic = "../Image/Products/f/" + P_Pic; 
      return Pic; 
     } 
     else 
     { 
      return ""; 
     } 
    } 

où "ProductCategory" est session here.next passé dans le contrôle i ajouté ce code:

<img id="img" class="img" runat="server" src='<%# GetImage(Eval("P_Pic")) %>' /> 

c'est tout :)

+0

Omg! - utilisez simplement: 'return P_Pic! = null? $ "../ Image/Products/{ProductCategory}/{P_Pic}": ""; 'à la place;). –