MVC3相对URL路径-Javascript

MVC3相对URL路径-Javascript,javascript,asp.net-mvc-3,url,path,relative-path,Javascript,Asp.net Mvc 3,Url,Path,Relative Path,我对相对路径有一个问题,即当web应用程序从域的子目录运行时,路径不正确。e、 g 如果我在页面上使用@Url.Content(“~/path/to/action”),就可以了。我甚至可以在javascript脚本中嵌入@Url.Content(“”)。我想清理这个页面,我想把javascript放在一个js文件中并引用它。既然在javascript文件中调用了@Url.Content,它似乎不起作用(可能是出于明显的原因)。我怎样才能避开这个问题 我看了一下,但这似乎不起作用。现在您将所有内容

我对相对路径有一个问题,即当web应用程序从域的子目录运行时,路径不正确。e、 g

如果我在页面上使用
@Url.Content(“~/path/to/action”)
,就可以了。我甚至可以在javascript脚本中嵌入
@Url.Content(“”
)。我想清理这个页面,我想把javascript放在一个js文件中并引用它。既然在javascript文件中调用了
@Url.Content
,它似乎不起作用(可能是出于明显的原因)。我怎样才能避开这个问题


我看了一下
,但这似乎不起作用。

现在您将所有内容都移动到了一个单独的js文件中,该文件被用作静态内容,并且Razor语法没有被解析

如果您需要js中可能会更改的相对路径,那么您应该在每个页面中包含一个设置路径变量的脚本,并在此脚本中使用@Url.Content(…),例如

<script type="text/javascript">
    pathToAction = "@Url.Content(...)";
</script>

pathToAction=“@Url.Content(…)”;

然后,在js文件中声明pathToAction变量,并根据需要使用它。

将此javascript放入母版页怎么样?聪明,我没有想到这种方法。谢谢我所做的只是使用了一些路径,比如scriptfolder='@Url.Content(“~/Scripts/”),imagefolder='@Url.Content(“~/Images/”),然后将它们附加到当前已经存在的Url中。我刚刚想了一个主意,如果样式在CSS文件中,CSS会怎么样?如果文件夹中有图像或背景,但需要是相对路径。CSS中的路径是相对于CSS文件的,而不是相对于加载的页面。因此,您可以执行如下路径:url('../images/image1.png')