我正在处理一个应用程序并且我以编程方式生成菜单,因为我在本地计算机上工作我的网站路径就像
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();
代码工作正常,但是当我必须将代码上传到Web服务器时,我必须在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>"
我必须从网站网址中取出 sApplicationPath ,这样网址就像
http://www.xyz.com/Default.aspx
我搜索解决这个问题,但到目前为止我还没能解决。代码赞赏任何帮助,以便我在Web服务器上传文件时不必更改路径。
注意: - 我这么傻。我找到了解决方案。谢谢大家
我刚删除了以下部分。 + sHostWithPort + sApplicationPath +“/”
谢谢大家,请不要将其标记为 - 有时我们会犯这样的错误。我不知道如何删除问题。
答案 0 :(得分:-1)
我刚刚将网址设为相对网址
我刚删除了以下部分。 + sHostWithPort + sApplicationPath +“/”
谢谢大家,请不要将其标记为 - 有时我们会犯这样的错误。我不知道如何删除问题。