Est runat = « server » requis pour les balises HTML qui ont un style CSS construit par ASP.NET?
-
25-09-2019 - |
Question
Je suis cette balise div qui est l'être de l'image d'arrière-plan défini dans le CSS en utilisant une méthode comme celui-ci ..
CSS en ligne: -
.id0, .mySprite:hover div
{
background-image: url(<%=GetImage()%>);
background-repeat: no-repeat;
width: 728px;
height: 243px;
}
HTML: -
<div class="id0"></div>
Maintenant, dois-je mettre runat="server"
dans cette balise div ou non? Coz cela ne donne pas d'erreur, mais se demandait peut-être que je dois coz être tiré par les cheveux de chemin de l'image du code derrière ... l'image est ne figurant pas dans ce contrôle utilisateur.
La solution
Eh bien,
- Le
"Runat=Server"
n'est pas nécessaire du tout. Le CSS est chargé / associé sur le client (dans le brwoser) de toute façon. - Désolé, mec, mais les fichiers .CSS ne sont pas évalués par ASP.NET - donc en gros, la « url » que le navigateur obtient est
<%=GetImage()%>
, qui, évidemment, le navigateur ne peut rien faire avec .
Résultat: Ne fonctionne pas. peut fonctionne pas.
Autres conseils
Pourquoi avez-vous besoin le serveur pour générer le chemin? Le chemin de l'image doit être par rapport au fichier css, donc si votre projet est en css / css / style.css et de l'image est en projet / images / utilisation de myimage.jpg
background-image: url(../images/myimage.jpg);
En outre, utiliser Firebug pour vérifier ce qui est vraiment être défini comme l'image d'arrière-plan. Vous pouvez également essayer
background-image: url(../images/myimage.jpg) !important;
Vous générez le code CSS à partir du code côté serveur? Ou est un simple fichier Css?
Si vous avez le code fichier Css: background-image: url (<%=GetImage()%>
); ne fonctionne pas.
Et puis, la règle de div avec CSS pour id ID0, vous devez définir avec # non point (# ID0 pas .id0)