<link href="../../Content/Site.css" rel="stylesheet" type="text/css" />
上面的代码显示了在Site.Master模板中声明的外部css包含标记。
我的问题:为什么Asp.net MVC团队选择这种方式而不是使用“〜/ Content / Site.css”?
这是最佳做法吗?对不起,我是新手,还在学习提高自己的技能。
编辑1:我想更清楚地说“〜/”必须首先传递给url-resolving方法。因此,我可以按如下方式重写我的问题:
为什么团队选择“../ ..”而不是“〜/”由url解析器解决?
答案 0 :(得分:2)
请参阅@PauliØsterø所说的内容。但是,既然你要求最佳实践,那么它就是......摆脱那些硬编码的字符串。对这些路径使用T4MVC
答案 1 :(得分:1)
〜是一个asp.net的东西,在纯HTML中没有意义。在通过将标记转换为服务器控件来处理的webforms中,可以将〜转换为绝对路径,而在MVC中则必须自己调用某个方法。例如,某些方法为Server.MapPath
答案 2 :(得分:1)
或者使用“/Content/Site.css”,因为“/”表示html中的站点根目录。
答案 3 :(得分:0)
这个问题已由MVC 3修复如下:我认为MVC团队已经阅读了这个问题: - )
<head>
<title>@ViewBag.Title</title>
<link href="@Url.Content("~/Content/Site.css")" rel="stylesheet" type="text/css" />
<script src="@Url.Content("~/Scripts/jquery-1.4.4.min.js")" type="text/javascript"></script>
</head>