[英]Why did Asp.net MVC team choose “../../Content/Site.css” rather than “~/Content/Site.css” in Site.Master page?
<link href="../../Content/Site.css" rel="stylesheet" type="text/css" />
上面的代码显示了在Site.Master模板中声明的外部css包含标记。
我的问题:为什么Asp.net MVC团队选择这种方式而不是使用“〜/ Content / Site.css”?
这是最好的做法吗? 对不起,我是新手,还在学习提高自己的技能。
编辑1:我想更清楚地说“〜/”必须首先传递给url-resolving方法。 因此,我可以改写我的问题如下:
为什么团队选择“../ ..”而不是“〜/”由url解析器解决?
请参阅@PauliØsterø所说的内容。 但是,既然你要求最佳实践,那么它就是......摆脱那些硬编码的字符串。 将T4MVC用于这些路径
〜是一个asp.net的东西,在纯HTML中没有意义。 在通过将标记转换为服务器控件来处理的webforms中,可以将〜转换为绝对路径,而在MVC中则必须自己调用某个方法。 例如,某些方法是Server.MapPath
或者使用“/Content/Site.css”,因为“/”表示html中的站点根目录。
这个问题已由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>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.