繁体   English   中英

为什么Asp.net MVC团队在Site.Master页面中选择“../../Content/Site.css”而不是“〜/ Content / Site.css”?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM