我遇到了相对路径的问题,当网络应用程序在域的子目录下运行时,路径不正确。例如http://www.domain.com/webapp/
如果我在页面上使用@ Url.Content(“〜/ path / to / action”)就可以了。我甚至可以在javascript脚本中嵌入@ Url.Content(“”)。我想清理我想把javascript放在js文件中的页面并引用它。现在,在javascript文件中调用@ Url.Content,它似乎不起作用(可能是出于显而易见的原因)。我怎样才能解决这个问题?
我查看了<base />
,但这似乎不起作用。
答案 0 :(得分:12)
现在您已将所有内容移动到单独的js文件中,该文件将作为静态内容提供,并且不会解析Razor语法。
如果您需要js内部的相对路径可能会发生变化,那么您应该在每个页面中包含一个设置路径var的脚本,并在此脚本中使用@ Url.Content(...),例如
<script type="text/javascript">
pathToAction = "@Url.Content(...)";
</script>
然后,在js文件中声明pathToAction var,并根据需要使用它。