ASP.net MVC 4有一些标准的方法来引用JavaScript中的相对路径吗?

4

我正在开发一个ASP.net MVC应用程序。在ASP.net MVC中,我非常喜欢的一点是它允许你在服务器端代码中引用相对路径。我想知道是否有一种标准化的方法可以在客户端代码中实现这一点。

我有一种方法来实现这个。我在我的布局页面中写入以下内容。

<script type="text/javascript">
    var ApplicationPath = '@Url.Content("~/")';                
</script>

将此脚本作为我的布局页面的第一个脚本,在任何.js文件中使用ApplicationPath变量可以引用相对路径。这似乎很有效,但我想知道是否有一些内置的方法来处理JavaScript中的相对路径。这对我很有效,但其他人可能使用不同的约定。

ASP.net MVC 4是否有一种标准的方式来引用JavaScript中的相对路径?


我也在寻找解决方案。你有没有找到更简洁的方法?你觉得使用cookie并在javascript中读取cookie如何,这样就不需要单独的脚本了? - edhedges
1个回答

1
我通常在我的母版页头部这样做:

<script type="text/javscript">
    var conf = { baseUrl: '<%=VirtualPathUtility.ToAbsolute("~/")%>' };
</script>

然后,在 JavaScript 中的任何其他地方,您可以直接使用:

var fullUrl = conf.baseUrl + '/somePath';

此外,您可以始终在JS中使用以下代码获取基本域名:
var baseUrl = window.location.hostname;

这不是我要找的答案。你的回答与我在这里提出的非常相似。我想知道的是框架是否具有处理此问题的一些内置机制。 - Vivian River
.NET框架是否有一种方法可以更改客户端浏览器对JavaScript的实现? - pwnyexpress
ASP.net确实在JavaScript中创建了一些变量和函数,使您可以引用一些服务器端的内容。其中__doPostBack可能是最为人所知的。我想知道是否有其他由框架创建的函数或变量,我可以引用并依赖它存在。 - Vivian River

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接