无法在asp mvc中获取站点根URL

111*_*110 28 javascript asp.net-mvc razor asp.net-mvc-3

我需要在javascript代码中的razor页面中获取站点根URL:

...
var siteRootUrl = '@Url.Content("~")';
...
Run Code Online (Sandbox Code Playgroud)

但我得到的只是'/'.

Nic*_*ork 57

通过端口获取当前主机(mysite.com,www.mysite.com或localhost:9876)

 Request.Url.Authority
Run Code Online (Sandbox Code Playgroud)

要获取当前的应用程序文件夹:(/或/ appfolder /)

 Url.Content("~/")
Run Code Online (Sandbox Code Playgroud)

混合它们?

 String.Format("{0}://{1}{2}",Request.Url.Scheme, Request.Url.Authority,Url.Content("~/"))
Run Code Online (Sandbox Code Playgroud)

或(如同torm指出)

 Url.Action("", null, null, Request.Url.Scheme)
 Url.Action("", null, null, "http")
 Url.Action("", null, null, "https") 
Run Code Online (Sandbox Code Playgroud)

要生成操作URL:

 Url.Action("About","Home",null,"http")
Run Code Online (Sandbox Code Playgroud)


tor*_*orm 8

我知道获得AbsoluteUri最简单的方法就是

@Url.Action("", null, null, "http")
Run Code Online (Sandbox Code Playgroud)