我正在寻找相当于这个javascript
window.location.origin
但服务器端,同时构建mvc页面。
例如,如果你在这里 http://website.com/123, 它会返回
http://website.com
重要的是我有“http://”部分
答案 0 :(得分:13)
我是
的粉丝string url = Request.Url.PathAndQuery.length > 1
? Request.Url.AbsoluteUri.Replace(Request.Url.PathAndQuery, string.Empty)
: url;
保留您的Http / Https,端口(如果适用)和HostName / IP。
更新为帐户,PathAndQuery长度为1。
答案 1 :(得分:1)
你可以尝试
@String.Format("{0}://{1}", Request.Url.Scheme, Request.Url.Authority)
或
@String.Format("{0}://{1}", Request.Url.Scheme, Request.Url.Host)
权限将包括端口号
答案 2 :(得分:0)
我认为您正在寻找Request.Url或RawUrl。
Request.Url的Uri.Scheme将为您提供有关http / https差异的信息。
答案 3 :(得分:-1)
javascript中的window.location.origin返回当前网址的协议,端口(如果有),域和扩展名。
如果您想从网址获取相同的信息,则接受的答案将为您提供。
如果你想要相同的行为,即一段javascript正在调用你的服务器方法,并且你想知道它在哪里调用,你可以检查HttpRequest.URLReferrer。然而,这可能很容易被欺骗,因此不可靠。