IIS6上的ASP.NET MVC渲染问题

时间:2010-01-02 18:28:20

标签: c# asp.net asp.net-mvc iis-6

我有一个在WIN2k3和IIS6上运行的小型asp.net mvc应用程序。

我正在IIS中的应用程序设置下使用通配符映射,如本文http://haacked.com/archive/2008/11/26/asp.net-mvc-on-iis-6-walkthrough.aspx中所述。该应用程序在我的本地asp.net开发服务器下工作正常。当我从VS2008发布到上面的生产服务器时,样式看起来部分呈现。例如。我有一个溢出:隐藏;设置在主体{}上,浏览器水平和垂直显示滚动条。此外,我所有图层上的z-index都不正确。任何想法都会非常感激。

以下是我的文档标题示例。

<head>
    <meta http-equiv="Content-Language" content="en-us" />
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>page title | <%= ViewData["PageTitle"]%></title>
    <link rel="shortcut icon" href="/content/images/misc/favicon.ico" type="image/x-icon" />               
    <%= Html.MooFrameworkConfig("Default")%>
    <%= Html.JavaScript("/scripts/framework.js")%>
</head>

framework.js包括如下所示的CSS:

this.loadCSS("layout.css", "screen");

这是loadCSS方法:

framework.loadCSS = function(fileName,mediaType) {              
    var headID = document.getElementsByTagName("head")[0];
    var cssNode = document.createElement('link');
    cssNode.type = 'text/css';
    cssNode.rel = 'stylesheet';
    cssNode.href = '/content/skins/' + skinBase + '/css/' + fileName;
    cssNode.media = mediaType;
    headID.appendChild(cssNode);
}

4 个答案:

答案 0 :(得分:0)

据说,这不太可能是网络服务器的问题。您正在使用的样式表是否可能不是由Web服务器提供的?也许它的URL略有不同?通过手动导航到样式表或检查它是否在firebug中加载来检查。

答案 1 :(得分:0)

您是否在文章中添加了CSS修补程序?

HttpContext.Current.RewritePath(Request.ApplicationPath, false);

我认为您可能需要在您的网站上发布包含CSS文件的片段以及模拟文章的位置,以便您获得更好的提示。

答案 2 :(得分:0)

就像测试一样,链接到HTML中的CSS文件(而不是用JS加载它)可以解决这个问题吗?

答案 3 :(得分:0)

您可以使用Fiddler工具检查是否所有文件都已正确加载,我的意思是没有HTTP 403或500或其他所有文件( .css, .js)的状态代码你的页面。 可能有一些服务器设置阻止正确显示您的页面。