我有我的本地主机和一个实时站点。我有一个网址,如果它在本地主机中,则该网址应转到localhost/site/thank_you.aspx,如果它是实时http://mylivesite.com/thank_you.aspx

我已经在我的代码后面尝试过...

MyHiddenField.Value = Request.URL + "/thank_you.aspx";

但它返回了我在/thank_you.aspx上的页面

我究竟做错了什么?

最佳答案

试试这个,我什至也添加了方案,以防万一你去https :)

编辑:还添加了端口(感谢Alex),以便成为 super duper super 面向 future 的方法:)

MyHiddenField.Value = string.Format(
    "{0}://{1}{2}/thank_you.aspx",
    Request.Url.Scheme,
    Request.Url.Host,
    Request.Url.IsDefaultPort ? string.Empty : ":" + Request.Url.Port);

编辑:@MikeSmithDev的另一个好的建议,将其放在函数
public string GetUrlForPage(string page)
{
    return MyHiddenField.Value = string.Format(
       "{0}://{1}{2}/{3}",
        Request.Url.Scheme,
        Request.Url.Host,
        Request.Url.IsDefaultPort ? string.Empty : ":" + Request.Url.Port,
        page);
}

然后,您可以执行以下操作:
MyHiddenField.Value = GetUrlForPage("thank_you.aspx");

关于c# - 本地主机和实时站点的Request.URL,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14509898/

10-09 19:47