@ Url.Content("〜")不适用于localhost

时间:2016-05-12 10:42:59

标签: javascript asp.net-mvc

我尝试使用以下代码在javascript中解析应用程序的根网址:

 var rootUrl = '@Url.Content("~")';

但上面的代码将rootUrl视为/。 我应该怎么做才能将我的应用程序运行的http://localhost:8000作为网址。

3 个答案:

答案 0 :(得分:2)

您可以直接从JavaScript获取它:

var rootUrl = window.location.href;

alert(rootUrl); 

  

location属性指向包含信息的对象   关于当前加载页面的URL。

您将获得与window.locationlocationlocation.href

相同的结果

详细了解window.location here

答案 1 :(得分:1)

我还需要类似的东西。我的解决方案可能不是正确的方法,但这是当时可以找到的。它对我有用,也可以为你工作。

var rootUrl = "@Url.Content("~")";

使用上面的代码可以得到这个结果:

var rootUrl = "/";

对于您要找的内容,您需要将代码更改为:

var rootUrl = "@(new Uri(Request.Url, Url.Content("~")))";

使用上面的代码会得到以下结果:

var rootUrl = "http://localhost:8000/";

我希望这会有所帮助。

答案 2 :(得分:-1)

@Url.Content("~/") is used to get your current application folder. 

@Request.Url.Authority is used to get current host (with port)

所以能够得到你想要的东西你可能想要混合它们:

@String.Format("{0}://{1}{2}",Request.Url.Scheme, Request.Url.Authority,Url.Content("~/"))

希望这有帮助!