IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

Forcer le navigateur à charger CSS [Débutant]


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 19
    Par défaut Forcer le navigateur à charger CSS
    Bonjour,

    Lorsque je fais des modifications sur mes CSS de mon appli ASP.NET, j'aimerai que le navigateur du visiteur re-télécharge les nouveaux fichiers en cache pour éviter les bugs d'affichage. J'ai donc utilisé la solution suivante :

    - Ajout d'un champ dans mon fichier Web.config
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <add key="versionNumber" value="111"/>
    - Définition de cette variable au début du Page_Load de la MasterPage
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    protected string version { get; set; }
    ...
     
     version = ConfigurationManager.AppSettings["versionNumber"];
    - Ajout de la version de l'appli en paramètre de mon CSS, dans le fichier .aspx
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <link href="CSS/Master.css?v=<%=version %>" rel="stylesheet" type="text/css" />
    Bref, une solution qui semblerait marcher...
    Mais quand je compile et que je regarde le code source de ma page, je retombe sur...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <link href="CSS/Master.css?v=<%=version %>" rel="stylesheet" type="text/css" />


    J'ai testé en debug, je récupère bien la variable via le ConfigurationManager.
    Plus fort, quand j'insert ma variable dans le .aspx dans le body, il s'affiche.

    Du coup je ne comprend pas trop où est mon erreur. Aurais-je oublié quelque chose ?

  2. #2
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Billets dans le blog
    3
    Par défaut
    En principe si tu enlèves les guillemets ça devrait fonctionner, car ASP.NET n'encodera plus le lien :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <link id="Link1" href=CSS/Master.css?v=<%=version %> rel="stylesheet" type="text/css" />
    Cependant ce n'est pas top comme solution... Tu peux aussi utiliser des "modules" tels que Cassette qui permettent la détection automatique des changements dans les resources JS/CSS ou autres, et l'ajout d'un hash automatiquement dans l'URL pour forcer le chargement de la resource modifiée.

    Un exemple avec les WebForms est dispo ici.
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 19
    Par défaut
    Ça fonctionne merci !

    C'est vrai que c'est pas très propre, mais je vais pour l'instant rester sur cette solution, je ne peux pas faire ce que je veux sur la machine sur laquelle je travail
    Cela dit Cassette à l'air vraiment pas mal, je vais quand même me pencher dessus.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment forcer safari de charger le contenu de mes fichiers CSS
    Par hastiok dans le forum Balisage (X)HTML et validation W3C
    Réponses: 0
    Dernier message: 20/12/2009, 23h58
  2. forcer le navigateur ie7
    Par shonem dans le forum Débuter
    Réponses: 1
    Dernier message: 23/06/2009, 12h51
  3. Forcer le navigateur a recharger les fichiers CSS et JS d’une page Web
    Par shaun_the_sheep dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 06/05/2008, 12h10
  4. Forcer le navigateur à mettre à jour le cache
    Par kimcharlene dans le forum Débuter
    Réponses: 2
    Dernier message: 09/03/2007, 12h22
  5. Réponses: 4
    Dernier message: 31/08/2006, 11h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo