J'ai des liens sur une page d'accueil qui peut ou non avoir des pièces jointes associées. Si les liens ont des pièces jointes, une icône sera placée à côté du lien. L'icône ne sera présente que si le lien contient une pièce jointe.Comment modifier l'attribut ImageUrl d'une image lors du chargement de la page avec asp.net et C# dans IE
protected void Page_Load(object sender, EventArgs e)
{
foreach (Image pic in imgAttachment)
{
int type = ds.Current_Events[index].AttachmentID;
//ds is the dataset
La boucle foreach traverse chacune des photos de l'événement « en cours » sur la page d'accueil puis obtenir le type de pièce jointe associée à chaque lien alias le AtachmentID. Le paramètre AttachmentID peut être 0, 1, 2 ou 3, ce qui signifie qu'aucune pièce jointe, photo ci-jointe, vidéo jointe ou document ne sont attachés de manière répétée.
Une instruction switch est ensuite utilisée pour modifier l'attribut ImageUrl en image correspondante.
switch (type)
{
case 0:
break;
case 1:
pic.ImageUrl = "images/eventicons/Photo.jpg";
//changed from just "Photo.jpg"
break;
case 2:
pic.ImageUrl = "images/eventicons/Video.jpg";
//changed from just "Video.jpg"
break;
case 3:
pic.ImageUrl = "images/eventicons/Doc.jpg";
//changed from just "Doc.jpg"
break;
default:
pic.Visible = false;
break;
}
index++;
}
}
L'image ne se charge pas dans IE, cependant cela fonctionne pour firefox.
Ce qui suit est l'avant ASPX
<div>
<ul>
<li>
<asp:HyperLink ID="lblEvent1" runat="server">
<img src="images/bar_blank.gif" />
</asp:HyperLink>
<asp:Image ID="Image1" runat="server" />
</li>
<li>
<asp:HyperLink ID="lblEvent2" runat="server">
<img src="images/bar_blank.gif" />
</asp:HyperLink>
<asp:Image ID="Image2" runat="server" />
</li>
</ul>
</div>
J'ai fait le changement mais cela n'a pas chargé l'image dans ie –
Je vois que vous avez mis à jour le code dans votre question - utilisez-vous le tilde? Cela indiquera à asp.net d'écrire le chemin complet de l'image lors de son rendu, plutôt que d'essayer d'utiliser le parent. –
Nous avons couru dans des instances où il était nécessaire de faire cela: pic.ImageUrl = Page.ResolveClientUrl ("~/MyImagePath/Photo.jpg") Je pense que nous ajoutions le contrôle de l'image à la page du code -derrière. –