Question

Quand je lance mon application MVC dans Visual Studio 2008, le site semble bien en ce qui concerne le style, les images, etc.

Mais si je publie cette version dans un dossier et utiliser IIS pour le voir, le style est partout place, et les images ne sont pas bonnes.

Dans un premier temps, je pensais que c'était une erreur en mon nom en ce qui concerne la feuille de style, mais je me sers seulement une version légèrement modifiée de la feuille de style qui est sorti-of-the-box avec le modèle MVC.

Est-ce que je fais quelque chose de mal en ce qui concerne la publication du site, ou avec la feuille CSS?

Cordialement,

Brett

Était-ce utile?

La solution 3

C'était tout à fait ma faute!

je balises sur ma page pour essayer d'afficher les données sous forme de tableau - ce rendu très bien quand je courais le projet à partir de Visual Studio, mais quand je publiais le site, le CSS sur la page COMPARU déformée sur la page dans Internet Explorer 7 et 8.

Cependant, quand je considérais la même version publiée dans Firefox 3, le site semble rendre correctement sur la page ...! Étrange, je sais.

J'ai essayé de corriger le CSS pour fixer les pièces qui ne rendent pas correctement dans Internet Explorer, mais a fini par supprimer les balises entièrement à cause du temps et apporté dans les balises au lieu, à ma grande consternation!

Autres conseils

Le coupable le plus probable est que vos chemins sont relatifs à la racine du site et que vous publiez dans un dossier qui ne sont pas à la racine. Vous souhaitez modifier vos URL dans votre CSS pour les faire par rapport au fichier CSS et dans votre marque pour utiliser Url.Content afin que les URL sont traduites dynamiquement.

<img src='<%= Url.Content( "~/Content/images/image.png" ) %>' alt="" />

J'avais presque exactement le même problème, alors souvenu de mon URL. Si vous affichez la source dans votre version IIS, vous devriez être en mesure de voir qui sont incorrects en pointant les fichiers CSS de l'URL etc ...

Je l'ai remplacé tous les CSS et JS appelle dans mon maître avec les méthodes d'aide par exemple:

<%= Html.RegisterCSS("site.css") %>
<%= Html.RegisterScript("jquery-1.3.2.min.js") %>

Hope this helps ...


Edit: Ahh, eh oui, je l'ai créé une aide pour me « aider » à. Donc, j'ai le code suivant dans une aide.

public static string RegisterScript(this System.Web.Mvc.HtmlHelper helper, string scriptFileName)
    {
        string scriptRoot = VirtualPathUtility.ToAbsolute("~/Scripts");
        string scriptFormat = "<script src=\"{0}/{1}\" type=\"text/javascript\"></script>\r\n";
        return string.Format(scriptFormat, scriptRoot, scriptFileName);
    }
    public static string RegisterCSS(this System.Web.Mvc.HtmlHelper helper, string FileName)
    {
        //get the directory where the scripts are
        string Root = VirtualPathUtility.ToAbsolute("~/Content");
        string Format = "<link href=\"{0}/{1}?{2}\" rel=\"stylesheet\" type=\"text/css\" />";
        return string.Format(Format, Root, FileName, DateTime.Now.ToString("hhmmss"));
    }

Et j'ai eu un « Gotcha » où IE8 déployait en mode IE7. Cela me fait un mal de tête jusqu'à ce qu'un collègue l'a fait remarquer ... Je n'ai pas IE8 ici, mais je pense qu'il est dans la section des outils de développement.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top