如何写链接的绝对路径

doniel 2009-03-23 11:49:35
我的页头顶部采用用户控件。那里有个导航的,我在用户控件那里设置好导航的路径后,发觉运行问题:如我有一个链接是admin文件夹中的view_admin.aspx,然后有一个链接是custmer文件夹中的view_custmer.aspx.我点进去view_admin.aspx后,再想进入view_custmer.aspx,就有错误了....
我的想法就是把用户控件中的链接换成绝对路径....不知道是否有更好的方法呢?愿踢教....
...全文
186 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
toxxj 2009-03-24
  • 打赏
  • 举报
回复
在你的链接前面加上 <%= Request.ApplicationPath %> 就可以了
如 <a href="<%=Request.ApplicationPath%>/default.aspx">首页</a>
benjaminwu198818 2009-03-24
  • 打赏
  • 举报
回复
绝对,相对路径都各有好处呀。。。。难办难办。。。
叶子 2009-03-24
  • 打赏
  • 举报
回复
不知道我说的是不是清楚
假设有n个文件夹
二级页和导航的用户控件都分别在这些文件夹里,他们用统一的相对路径就不会出问题
然后假设在这n个文件夹的外面有个首页,首页上也用那个用户控件就不行了
解决方式 1、首页上不用用户控件。
2、首页上用另外的一个用户控件。
myrroom 2009-03-24
  • 打赏
  • 举报
回复
在写导航的时候可不可以先都返回到根目录,然后在指向到相应的页面呢?
叶子 2009-03-24
  • 打赏
  • 举报
回复
一般都是用相对路径,绝对路径不好控制。
你把层次分清楚就可以了
首页放在外面,上面可以先不用用户控件,然后在所有二级页的时候统一调用用户控件。
Robin 2009-03-24
  • 打赏
  • 举报
回复
绝对路径固然是好
人生就是赌 2009-03-24
  • 打赏
  • 举报
回复
层次比较混乱的情况下,要作为邮件发送的情况下,绝对路径是首选,写成一个公用方法
如下:

/// <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()%>/相对于网站的根路径的地址
doniel 2009-03-24
  • 打赏
  • 举报
回复
感谢大家....感谢toxxj...你的方法可行..

62,268

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧