【问题标题】:URL 'localhost:port/' issue for asp.net website [closed]asp.net 网站的 URL 'localhost:port/' 问题[关闭]
【发布时间】:2012-01-14 07:54:00
【问题描述】:

我正在开发一个应用程序并且我以编程方式生成菜单,因为我在本地机器上工作我的网站路径就像

http://localhost:55954/VirtualPathName/Default.aspx

下面是从数据库生成菜单的代码

 String sHost, sHostWithPort, sAbsolutePath, sApplicationPath,sAbsoluteUri,sPathAndQuery,sPageID, sLangCode;

    sHost = "http://"+HttpContext.Current.Request.Url.Host;
    sHostWithPort = "http://" + HttpContext.Current.Request.Url.Authority;
    sAbsolutePath = HttpContext.Current.Request.Url.AbsolutePath;
    sApplicationPath = HttpContext.Current.Request.ApplicationPath;
    sAbsoluteUri = HttpContext.Current.Request.Url.AbsoluteUri;
    sPathAndQuery = HttpContext.Current.Request.Url.PathAndQuery;

       //Create Top Menu
        StringBuilder sb = new StringBuilder();
        if (dsMenu != null && dsMenu.Tables.Count > 0 && dsMenu.Tables[0].Rows.Count > 0)
        {
            for (int i = 0; i < dsMenuRowCount; i++)
            {
                sb.Append("<div class='divlink' href='" + dsMenu.Tables[0].Rows[i]["PageInternalLinkURL"] + "?PageId=" + dsMenu.Tables[0].Rows[i]["PageId"] + "&Language=" + sLangCode + "'>" + dsMenu.Tables[0].Rows[i]["PageName"] + "</a></div>");
            }
        }

        ltrMenu.Text = sb.ToString();

代码工作正常,除了当我必须将代码上传到网络服务器时,我必须将 for 循环中的以下语句修改为

sb.Append("<div class='divlink' href='" + sHostWithPort + dsMenu.Tables[0].Rows[i]["PageInternalLinkURL"] + "?PageId=" + dsMenu.Tables[0].Rows[i]["PageId"] + "&Language=" + sLangCode + "'>" + dsMenu.Tables[0].Rows[i]["PageName"] + "</a></div>"

我必须从网站 URL 中取出 sApplicationPath,这样 URL 就会像

http://www.xyz.com/Default.aspx

我试图解决这个问题,但到目前为止我还没有解决。感谢代码的任何帮助,这样我在网络服务器上上传文件时就不必更改路径。

注意:- 我真傻。我找到了解决方案。谢谢各位

我刚刚删除了以下部分。+ sHostWithPort + sApplicationPath + "/"

谢谢大家,请不要将其标记为 -ve 有时我们会犯这样的错误。我不确定如何删除问题。

【问题讨论】:

  • 您是否有充分的理由不能只使用相对 URL 作为链接?
  • 上传问题后它击中了我,它起作用了,我不确定删除问题是否会让我 -Ve 所以我用答案修改了问题,如果有人已经读过它,我会道歉跨度>
  • @StudentDubai 您可以将答案放在答案部分,让用户查看如何修复并确保用户知道问题已得到解答。

标签: c# asp.net virtual-directory


【解决方案1】:

我只是将 URL 设为相对 URL

我刚刚删除了以下部分。+ sHostWithPort + sApplicationPath + "/"

谢谢大家,请不要将其标记为 -ve 有时我们会犯这样的错误。我不确定如何删除问题。

【讨论】:

    猜你喜欢
    • 2018-07-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-03
    • 1970-01-01
    • 2013-09-06
    相关资源
    最近更新 更多