2011-09-16 3 views
1

J'ai une page qui affiche un numéro de ticket d'un système de ticketing. Lorsque la page est chargée, elle génère un numéro de ticket et affiche ce numéro dans une étiquette. Il ajoute également dynamiquement une cssclass à l'étiquette en fonction du ticket généré. Cela fonctionne très bien localement, mais quand je le télécharge sur le serveur de développement, la classe cssclass ne s'affiche pas. Il y a un autre élément sur la même page ASPX qui a une cssclass ajoutée sur le frontend et il affiche bien. J'ai regardé la source de yiew de la page du serveur de dev et il semble que la classe soit bien ajoutée sur le backend.CSS fonctionne localement mais pas sur le serveur de développement

Voici le ASPX:

<table width="300"> 
    <tr> 
     <td class="ItemTxt">Customer Track Number</td> 
    </tr> 
    <tr> 
     <td align="left"> 
      <p>The customer track number is: </p> 
      <p style="text-align:center"><asp:Label ID="lblTrackNum" runat="server" Text="Label" CssClass="greenTicketColor"></asp:Label></p> 
      <p>Click OK to continue and return to the Lobby Dash.</p> 

      <p><asp:Button ID="btnOK" runat="server" Text="OK" onclick="btnOK_Click" /></p> 
     </td> 
    </tr> 
</table> 
enter code here 

Voici le codebehind

private void DisplayTicketNumber(string sTicketNumber) 
    { 
     string sTrackColor = sTicketNumber.Substring(0, 1); 
     switch (sTrackColor) 
     { 
      case "G": 
       lblTrackNum.CssClass = "greenTicketColor"; 
       break; 
      case "R": 
       lblTrackNum.CssClass = "redTicketColor"; 
       break; 
      case "B": 
       lblTrackNum.CssClass = "blueTicketColor"; 
       break; 
      case "M": 
       lblTrackNum.CssClass = "maoTicketColor"; 
       break; 
      case "V": 
       lblTrackNum.CssClass = "vandeTicketColor"; 
       break; 
      case "A": 
       lblTrackNum.CssClass = "afipTicketColor"; 
       break; 
      case "E": 
       lblTrackNum.CssClass = "ebtTicketColor"; 
       break; 
      case "Q": 
       lblTrackNum.CssClass = "qaTicketColor"; 
       break; 
      case "F": 
       lblTrackNum.CssClass = "fhTicketColor"; 
       break; 
      default: 
       break; 
     } 
     lblTrackNum.Text = sTicketNumber; 
    } 

Voici le CSS

.greenTicketColor 
{ 
    color: #007F00; 
    font-size: 50px; 
    font-weight: bold; 
} 
.redTicketColor 
{ 
    color: #DF0000; 
    font-size: 50px; 
    font-weight: bold; 
} 

.blueTicketColor 
{ 
    color: #0065CB; 
    font-size: 50px; 
    font-weight: bold; 
} 

.maoTicketColor 
{ 
    color: #959595; 
    font-size: 50px; 
    font-weight: bold; 
} 

.vandeTicketColor 
{ 
    color: #7f007f; 
    font-size: 50px; 
    font-weight: bold; 
} 

.afipTicketColor 
{ 
    color: #00cbfd; 
    font-size: 50px; 
    font-weight: bold; 
} 

.ebtTicketColor 
{ 
    color: #fd98cb; 
    font-size: 50px; 
    font-weight: bold; 
} 

.qaTicketColor 
{ 
    color: #cbfdcb; 
    font-size: 50px; 
    font-weight: bold; 
} 

.fhTicketColor 
{ 
    color: #fdfd00; 
    font-size: 50px; 
    font-weight: bold; 
} 

Voici la source de vue depuis la page affichée du serveur. Notez qu'il montre la classe correctement ajoutée.

<table width="300"> 
<tr> 
    <td class="ItemTxt">Customer Track Number</td> 
</tr> 
<tr> 
    <td align="left"> 
     <p>The customer track number is: </p> 
     <p style="text-align:center"><span id="MainContent_lblTrackNum" class="blueTicketColor">B6</span></p> 
     <p>Click OK to continue and return to the Lobby Dash.</p> 

     <p><input type="submit" name="ctl00$MainContent$btnOK" value="OK" id="MainContent_btnOK" /></p> 
    </td> 
</tr> 

Merci pour les réponses. Je sais que la chose la plus simple est la référence au fichier css. Si vous regardez cette ligne le style montre correctement:

<td class="ItemTxt">Customer Track Number</td> 

La ligne de code ci-dessus est sur la page ASPX. Le style ajouté dans le codebehind ne s'affiche pas. Voici mon contenu principal. Ceci provient d'une page principale. Je ne sais pas si cela importe ..

<head runat="server"> 
<title>FAST Tracker</title> 
<link href="~/Styles/FastTrackStyles.css" rel="stylesheet" type="text/css" /> 
<asp:ContentPlaceHolder ID="HeadContent" runat="server"> 
</asp:ContentPlaceHolder> 
</head> 
+0

pouvez-vous ajouter le code où vous référencez votre fichier css? La réponse la plus simple est que votre fichier CSS n'est pas inclus. – danyloid

+0

si vous utilisez firebug/libellule ou similaire, vous pouvez également vérifier si votre fichier css est demandé par le navigateur – danyloid

+0

Veuillez inclure votre code html '', à savoir le code référençant votre fichier CSS. Le problème est probablement dû au fait que le fichier n'est pas inclus dans la publication ou, très probablement, le chemin n'est pas correct. –

Répondre

0

Êtes-vous sûr que vous avez téléchargé pour le fichier CSS sur le serveur et référencez correctement. Si vous utilisez FireBug ou affichez la source de votre page HTML lorsque vous l'exécutez sur le serveur Dev, vous pouvez accéder au fichier css en cliquant sur l'URL dans le tag

+0

Oui, je suis certain que j'ai téléchargé le fichier css. Si vous regardez dans le premier de la table, il y a un cssclass = "ItemTxt" qui s'affiche correctement. La seule différence dans la classe 2 css dans cette table est que l'une est appliquée sur la page aspx, l'autre (ne fonctionne pas) est appliquée dans le code C# derrière la page. Je n'ai pas utilisé FireBug mais je peux naviguer vers le fichier css sur le serveur Dev. – EFX

+0

Aucune mise en cache de mise en cache ne se passe-t-elle? Memcached? – Rexford

0

Localhost n'est généralement pas sensible à la casse, mais les serveurs ARE. Vérifiez vos chemins (sensible à la casse) ...

+0

Je tripple vérifié tous les chemins. La référence au css est dans une page maître et le css fonctionne partout sauf cette instance. La seule différence est cette instance que le CSS est ajouté dans le codebehind. – EFX

0

J'ai eu un problème similaire et la résolution pour moi était de m'assurer que les permissions du répertoire virtuel sont configurées correctement, sinon le CSS et les images ne s'afficheront pas.

Vous pouvez généralement cliquer avec le bouton droit sur une autre application Web dans IIS pour voir les autorisations à référencer pour votre application Web.

Questions connexes