javascript - 无法在 asp mvc 中获取站点根 url

标签 javascript asp.net-mvc asp.net-mvc-3 razor

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

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

但我从中得到的只是“/”。

最佳答案

获取当前主机的端口(mysite.com、www.mysite.com 或 localhost:9876)

 Request.Url.Authority

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

 Url.Content("~/")

混合它们?

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

或者(正如 torm 指出的那样)

 Url.Action("", null, null, Request.Url.Scheme)
 Url.Action("", null, null, "http")
 Url.Action("", null, null, "https") 

生成操作 URL:

 Url.Action("About","Home",null,"http")

关于javascript - 无法在 asp mvc 中获取站点根 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9121140/

相关文章:

javascript - 如何在 DateTimePicker JavaScript 中查找今天的日期?

javascript - 如何使用 Javascript 为动态创建的元素添加选项卡索引?

c# - 有什么方法可以将迭代的 id 传递给 jquery?

c# - EntityFramework 修改数据库而不是重新创建

css - 使用 MVC3 时设置固定页面高度

c# - 如果未找到动态内容,则将用户正确发送到 404 (ASP.NET MVC)

javascript - 杂耍异步 - LearnYouNode - 立即调用函数表达式

javascript - 在 Javascript 中设置不同状态时如何使 Promise 对象不可变?

c# - 检查用户输入是否以两种可能性之一开始

c# - ASP.NET MVC : Share data between AuthorizeAttribute and Controller