Pregunta

Cuando ejecuto mi aplicación MVC a través de Visual Studio 2008, el sitio web se ve bien en relación con el estilo, imágenes, etc.

Pero si publico esta acumulación a una carpeta y utilizar IIS para poder verla, el estilo es en todo lugar, y las imágenes no son perfectos.

Al principio, pensé que esto era un error de mi parte con respecto a la hoja de estilo, pero yo estoy usando solamente una versión ligeramente modificada de la hoja de estilo que salió de la caja con la plantilla MVC.

Estoy haciendo algo malo en lo que respecta a la publicación del sitio, o con la hoja CSS?

Saludos cordiales,

Brett

¿Fue útil?

Solución 3

Esto fue totalmente mi culpa!

He utilizado las etiquetas en mi página para tratar de mostrar datos tabulares - esto refina cuando estaba dirigiendo el proyecto desde dentro de Visual Studio, pero cuando publiqué el sitio, el CSS en la página apareció distorsionada en la página en Internet Explorer 7 y 8.

Sin embargo, cuando vi la misma constitución publicada en Firefox 3, el sitio parecía rendir correctamente en la página ...! Raro, lo sé.

Lo hice intentar corregir la CSS para fijar las partes que no se representan correctamente en Internet Explorer, pero acabamos de eliminar las etiquetas del todo por falta de tiempo, y traído en las etiquetas en cambio, muy a mi pesar!

Otros consejos

El culpable más probable es que sus rutas son relativas a la raíz del sitio y va a publicar en una carpeta que no está en la raíz. Usted querrá cambiar sus direcciones URL en su CSS para hacerlos relativa al archivo CSS y en su margen de beneficio de usar Url.Content de manera que las direcciones URL se traducen de forma dinámica.

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

Yo tenía casi el mismo problema exacto, entonces recordó mis URL. Si ve el código fuente en su versión de IIS, debe ser capaz de ver que de la URL son incorrectos cuando se apunta a los archivos CSS, etc ...

He sustituido la totalidad de la CSS y JS llamadas en mi principal con los métodos de ayuda por ejemplo:

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

Espero que esto ayude ...


Editar: Ahh, sí, he creado un ayudante para "ayudar" a salir. Por lo tanto, tengo el siguiente código en un ayudante.

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"));
    }

Y he tenido un "Gotcha", donde IE8 estaba mostrando en modo IE7. Esto me causó un dolor de cabeza hasta que un colega lo señaló ... no tengo IE8 aquí, pero creo que es en la sección de herramientas de desarrollo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top