【发布时间】:2014-10-26 19:45:34
【问题描述】:
我是 MVC4/razor2 的新手,我认为了解使用 @Url.Content 和 @Url.Action 的一般好处 - 如果我的路由或虚拟目录发生更改,magic-url-strings 会正确呈现。
我正在查看一些带有 '@Url.Content("~")' 的旧 Javascript-with-razor 代码在视图中。这呈现为'/' - 或网站根目录。哪个....总是这样,不是吗?
或者在某些情况下可以以不同的方式呈现?
注意:它不是 ~/ - 只是普通的波浪号。
我计划提取对辅助函数的 razor 调用,并将 JavaScript 的主要块移动到外部文件中(用于 linting 和一般“清洁”)。我不需要“修复”当前发生的任何事情,但我想更好地理解它。
【问题讨论】:
-
如果您的网络应用不是您网站的根目录,这很重要。
-
@MikeCheel - 这就是 ~/ 的用途,不是吗? tilde-by-itself 和 tilde-slash 一样吗?
-
波浪号表示您的应用程序的根目录而不是网站的根目录,因此在许多情况下,当它们相同时,如果您使用 Url.Content,则不会有任何区别。
-
好吧,我确实(现在)知道应用程序根目录可能与网站根目录不同[现在不是我的特殊情况,但这就是 Url.Content 的用途,不是吗] ,但我认为波浪线是应用程序根。波浪号也是应用程序根吗?不是这样吗?波浪线斜线和波浪线本身有区别吗?这是我找不到记录的内容。
-
只是波浪号。我确实遇到过一篇文章,但它说在使用 Razor 时,MVC 4 中不再需要 UrlContent,如果 Razor 看到 ~ 它将相应地调整 url。 beletsky.net/2012/04/new-in-aspnet-mvc4-razor-changes.html
标签: asp.net-mvc-4 razor razor-2