如何通过代码隐藏获取在 mvc 2 中运行的完整服务器名称和端口

发布于 2024-10-12 13:30:15 字数 201 浏览 1 评论 0原文

大家好,

如果我有网址,我有一个问题示例: http://localhost:8512/bookuser/Create

如何通过mvc2中的代码获取“http://localhost:8512”?

谢谢关心

hi every body i have a question

example if i have url : http://localhost:8512/bookuser/Create

how to get "http://localhost:8512" by code behind in mvc2 ??

thanks regard

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

爱的故事 2024-10-19 13:30:15

下面将为您提供请求的协议、主机和端口部分

Request.Url.GetLeftPart(UriPartial.Authority)

The following will give you the protocol, host and port part of the request

Request.Url.GetLeftPart(UriPartial.Authority)
好多鱼好多余 2024-10-19 13:30:15

在 MVC3 中,最直接的是,您可以这样做(应该非常相同):
在 .cs 中,您可以使用如下代码:

Uri uri = HttpContext.Current.Request.Url;
String absoluteUrlBase = String.Format(
    "{0}://{1}{2}{3}"
    uri.Scheme,
    uri.Host,
    (uri.IsDefaultPort
        ? ""
        : String.Format(":{0}", uri.Port));

在 .cshtml 中,您可以使用

string absoluteUrlBase = String.Format(
    "{0}://{1}{2}{3}"
    Request.Url.Scheme
    Request.Url.Host + 
    (Request.Url.IsDefaultPort
        ? ""
        : String.Format(":{0}", Request.Url.Port)); 

在这两种情况下,absoluteUrlBase 将为 http://localhost:8512http://www.contoso.com

或者您可以通过 VoodooChild's 链接...

In MVC3, most directly, You can do it like this (should be pretty same):
Within a .cs, You can use code like this:

Uri uri = HttpContext.Current.Request.Url;
String absoluteUrlBase = String.Format(
    "{0}://{1}{2}{3}"
    uri.Scheme,
    uri.Host,
    (uri.IsDefaultPort
        ? ""
        : String.Format(":{0}", uri.Port));

within the a .cshtml, You can use

string absoluteUrlBase = String.Format(
    "{0}://{1}{2}{3}"
    Request.Url.Scheme
    Request.Url.Host + 
    (Request.Url.IsDefaultPort
        ? ""
        : String.Format(":{0}", Request.Url.Port)); 

In both cases, the absoluteUrlBase will be http://localhost:8512 or http://www.contoso.com.

or You can go through the VoodooChild's link...

_失温 2024-10-19 13:30:15

尝试:

Request.Url.AbsoluteUri

这包含有关正在请求的页面的信息。

另外,请保留此链接以供将来参考

Try:

Request.Url.AbsoluteUri

This contains information about the page being requested.

Also, keep this link for future reference

烟雨扶苏 2024-10-19 13:30:15

查找“http://”之后的第一个“/” - 这是一段代码:

public class SName {

    private String  absUrlStr;

    private final static String slash = "/", htMarker = "http://";

    public SName (String s) throws Exception {
            if (s.startsWith (htMarker)) {
                    int slIndex = s.substring(htMarker.length()).indexOf(slash);
                    absUrlStr = (slIndex < 0) ? s : s.substring (0, slIndex + htMarker.length());
            } else {
                    throw new Exception ("[SName] Invalid URL: " + s);
    }}

    public String toString () {
            return "[SName:" + absUrlStr + "]";
    }

    public static void main (String[] args) {
            try {
                    System.out.println (new SName ("http://localhost:8512/bookuser/Create"));
            } catch (Exception ex) {
                    ex.printStackTrace();
}}}

Look for the first "/" after the "http://" - here's a piece of code:

public class SName {

    private String  absUrlStr;

    private final static String slash = "/", htMarker = "http://";

    public SName (String s) throws Exception {
            if (s.startsWith (htMarker)) {
                    int slIndex = s.substring(htMarker.length()).indexOf(slash);
                    absUrlStr = (slIndex < 0) ? s : s.substring (0, slIndex + htMarker.length());
            } else {
                    throw new Exception ("[SName] Invalid URL: " + s);
    }}

    public String toString () {
            return "[SName:" + absUrlStr + "]";
    }

    public static void main (String[] args) {
            try {
                    System.out.println (new SName ("http://localhost:8512/bookuser/Create"));
            } catch (Exception ex) {
                    ex.printStackTrace();
}}}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文