1

我的应用程序结构如下:

 MyProject
    -Tracking
      - TrackingPage.aspx
    -master
      -mymaster

mymaster页面中,我有这样的链接:

 string sApplicationPath = Request.ApplicationPath;

pStr = pStr + "<li id='Home'><a class='top' href='";
        pStr = pStr + sApplicationPath;
        pStr = pStr + "/Tracking/TrackingPage.aspx'>Home</a></li>";

在其中运行应用程序时,它可以工作,但是当我将其放入 IIS 时,它给了我:

 http://117.**.**.134/mysit/Tracking/TrackingPage.aspx.

当我单击链接时,它会将我导航到错误的位置:

http://117.**.**.134/mysit/master/Tracking/TrackingPage.aspx.

我该如何解决这个问题?

4

1 回答 1

2

我想你想获取当前 URL 的主机名?如果是这样,请查看:

请求网址

您还可以查看 Uri 类的属性,看看可以从 URL 中提取什么,或者您可以使用旧的 Uri 和相对路径字符串或 Uri 创建一个新的 Uri。

乌里类

最终我认为你想要做的是:

Uri url = new Uri(Request.Url, "/Tracking/TrackingPage.aspx");
pStr = pStr + "<li id='Home'><a class='top' href='";
pStr = pStr + url.ToString();
pStr = pStr + "'>Home</a></li>";
于 2013-06-28T09:21:24.300 回答