2012-10-11 1 views
3

J'ai une application sur asp.net mvc3 et de travailler dans une vue rasoir. Sur ma page de mise en page, je joins un fichier css et je mets un peu de CSS dans ce fichier, mais quand j'accède au /Account/LogOn voir le css ne fonctionne pas.
Cela ne fonctionne que si je joins la vue css sur Logon. Quelqu'un sait pourquoi mon css attaché sur la page de mise en page ne fonctionne pas sur /Account/LogOn?Css ne fonctionne pas correctement dans Asp.net mvc3 Vues Razor

J'ai aussi essayé en incluant le code suivant:

@{ 
Layout = "~/Views/Shared/_Layout.cshtml"; 
ViewBag.Title = "xyz.com – Login"; 
} 

Il ne fonctionne toujours pas. Merci à l'avance

Répondre

4

Parrainez vos aide à l'aide de css url comme celui-ci

<link rel="stylesheet" type="text/css" href="@Url.Content("~/Content/default.css")" media="screen" /> 
+0

Très bien, ça marche !!!!!! mais quelle est la raison pour laquelle cela ne fonctionne pas sur le mode html normal? –

+3

En raison de la résolution du dossier racine. Lorsque vous utilisez html, il ne peut pas trouver le fichier css, car la vue logOn est dans un dossier différent. Html helper trouve toujours la racine. –

2

Dans votre _layout.cshtml, assurez-vous que vous utilisez un chemin faisant référence à la racine (~) de votre application. Utilisez @Url.Content() pour échapper à la voie:

<link href="@Url.Content("~/Content/css/styles.css")" rel="stylesheet" type="text/css" /> 
+3

@smartboy Etant donné que les pages MVC sont créées dynamiquement via une route, et que le navigateur doit retourner sur le serveur pour récupérer le css, il est impossible d'utiliser une route css statique dans '_layout.cshtml' qui fonctionnera pour différents niveaux de chemin (/, /../, etc.) D'où la nécessité de référencer css et js à partir de la racine, et de mapper ceci avec Url.Content – StuartLC

+0

Erratum dans le commentaire ci-dessus .. impossible d'utiliser un statique * variable * css route ... – StuartLC

0

Créer la feuille de style dans le dossier Contenu par le nom disent abc.css

comprennent maintenant la feuille de style dans le LayoutPage afin qu'il soit automatiquement inclus dans toutes les pages issues de la contenu de la page.

<link href="@Url.Content("~/Content/abc.css")" rel="stylesheet" type="text/css" />

Questions connexes