2008-10-29 6 views
0

J'ai un problème avec la façon dont ASP.Net génère la balise img. J'ai un contrôle serveur comme ceci:Balise ASP.NET Img

<asp:Image runat="server" ID="someWarning" ImageUrl="~/images/warning.gif" AlternateText="Warning" /> 

Je pense à générer ceci:

<img id="ctl00_ContentPlaceHolder1_ctl00_someWarning" src="../images/warning.gif" /> 

mais il génère ceci:

<img alt="" src="/Image.ashx;img=%2fimages%2fwarning.gif"</img> 

Cela me donne des erreurs quand j'exécute le js suivant:

document.getElementById('ctl00_ContentPlaceHolder1_someWarning') 

Une idée de pourquoi il ne va pas générer le code HTML attendu?

Répondre

1

On dirait qu'il essaie d'utiliser un gestionnaire personnalisé (ashx) pour fournir l'image. Avez-vous des modules supplémentaires qui peuvent remplacer le comportement par défaut de l'asp: Image?

Votre JavaScript ne fonctionnera pas car le tag d'image n'a pas reçu d'ID dans le code HTML généré.

0

Vous pouvez obtenir l'ID réel généré à l'aide de ClientID. J'utilise ceci pour obtenir l'ID d'un contrôle pour une utilisation en utilisant JavaScript syntaxe similaire à ce qui suit:

document.getElementById('<%=ddlCountry.ClientID%>').style.display = "block"; 

Cependant, vous pouvez également l'utiliser dans votre code-behind pour obtenir la même chose.

Questions connexes