我的页头顶部采用用户控件。那里有个导航的,我在用户控件那里设置好导航的路径后,发觉运行问题:如我有一个链接是admin文件夹中的view_admin.aspx,然后有一个链接是custmer文件夹中的view_custmer.aspx.我点进去view_admin.aspx后,再想进入view_custmer.aspx,就有错误了....
我的想法就是把用户控件中的链接换成绝对路径....不知道是否有更好的方法呢?愿踢教....

解决方案 »

  1.   

    在你的链接前面加上 <%= Request.ApplicationPath %>  就可以了
    如  <a href="<%=Request.ApplicationPath%>/default.aspx">首页</a>
      

  2.   

    层次比较混乱的情况下,要作为邮件发送的情况下,绝对路径是首选,写成一个公用方法
    如下:/// <summary>
            /// 返回当前网站的根路径,如:http://www.mydaigo.com
            /// </summary>
            /// <returns>返回当前网站的根路径</returns>
            public static string GetWebRootPath()
            {
                string path = "", port = "", urlHost = "";
                path = HttpContext.Current.Request.ApplicationPath;
                port = HttpContext.Current.Request.Url.Port.ToString();
                urlHost = HttpContext.Current.Request.Url.Host;
                if (path == "/")
                    path = "";
                if (port == "80")
                { port = ""; }
                else
                { port = ":" + port; }
                return "http://" + urlHost + port + path;
            }调用时 <%=类名.GetWebRootPath()%>/相对于网站的根路径的地址
      

  3.   

    感谢大家....感谢toxxj...你的方法可行..