2009-09-28 19 views
1

我正在努力使自己熟悉ASP.NET上的MVC。我有我的global.asax为什么我的样式表在MVC上使用HayWire?

routes.MapRoute("Dept", "Dept/Invoice/{Category}/{Name}", 
new {controller = "Dept", action = "Invoice", Category = "", Name = ""}); 

Controller.cs代码获取数据,并把它放在一个很好的表。我的HTML开始......

<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<BMICPolicy.Dept>" %> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<link rel="Stylesheet" type="text/css" href="../../Content/Test.css" /> 
<html xmlns="http://www.w3.org/1999/xhtml"> 

样式表 -

body 
{ 
    font-family: Arial, Verdana, Book Antiqua, Sans-Serif; 
    font-size: 12px; 
    width: 100%; 
    height: 100%; 
    min-height: 100%; 
    text-align: center; 
    text-align: -moz-center; 
    padding: 0px; 
    margin: 0px; 
    position: relative; 
} 
table 
{ 
    border: solid 1px #000000; 
    border-collapse: collapse; 
} 

table td 
{ 
    padding: 5px; 
    border: solid 1px #000000; 
} 

table th 
{ 
    padding: 6px 5px; 
    background-color: #729FCB; 
    border: solid 1px #000000; 
    text-align: center; 
} 

thead 
{ 
    /*font-size: medium;*/ 
    font: large, bold; 
    text-align: center; 
} 

我不知道为什么只有样式表时,我最多可以输入“类别”和我的样式表是完全忽略的作品时,我在地址栏中输入名称(正文字体样式,表格,td,th,thead等)。我错过了什么吗?

+0

我提出的CHANE澄清正在进行坚果...和我的样式表包括 – MrM 2009-09-28 14:56:50

+0

你确定当你输入一个名称,你没有在样式表请求的服务器日志中获得404吗? – 2009-09-28 14:58:01

回答

3

../../Content/Test.css是一个相对的URI,并表示“寻找一个在当前位置的父文件夹的父文件夹名为Content文件夹,该文件夹中找到一个名为Test.css文件。

当你只输入一类,你正在寻找所谓ContentDept文件夹的一个兄弟,当你输入一个名称,以及,你要寻找的Invoice文件夹的兄弟姐妹。

也许你想使用/Content/Test.css为路径代替您的样式表。

+0

完美...非常感谢! – MrM 2009-09-28 15:06:54

+0

使用Url.Content引用日e css。不要使用硬编码路径,因为如果您在根的子文件夹下发布站点,它将会中断。 Url.Content自动处理它。 – DSO 2009-09-28 18:24:36

0

这是因为你当前的路径被视为嵌套的文件夹层次结构,并且相对路径根本不起作用(你的css正在搜索Dept/Invoice/Content/Test.css或类似的东西,这显然是不正确的)。这是风格和脚本文件的常见情况,尤其是当它们放置在母版页中时。

在这种情况下正确的做法是使用Url.Content,如this thread中所述。 Imho这项工作比绝对路径更好。

0

变化这一行:

<link rel="Stylesheet" type="text/css" href="../../Content /Test.css” />

这样:

<link rel="Stylesheet" type="text/css" href="<%=ResolveUrl("~/Content/Test.css “)%>”/>

相关问题