ASP.NET网站中获取当前虚拟目录的应用程序目录的方法

本文介绍了解决网页控件中相对链接路径不正确的问题,通过使用Request.ApplicationPath动态获取当前虚拟目录的方法,确保从任何位置调用控件时都能正确地指向目标页面。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 1.问题描述:
   有时候,某个网页控件会被不同目录下文件使用,此时如果该控件中有一个相对链接,那么该链接就会出现问题。
   比如应用程序虚拟目录MyApp根目录有个Template.ascx用户控件文件,该文件有个连接到应用程序根目录的网页link.aspx。
   如果Template.ascx中的链接直接写成href="link.aspx",那么在应用程序下级子目录中某个文件Test.aspx中包含Template.ascx控件,此时点击链接则会寻找该子目录下的link.aspx,这样显然是错误的。同理如果用"./"或"../"都是行不通的。

2.解决方案
    为了解决这个方法可以直接用绝对目录href=“/MyApp/link.aspx"来代替,但是这个方法如果移植到其他不同名的虚拟后就会失效了,因此需要一个更好的方法。

该方法就是用Request.ApplicationPath动态获取当前虚拟目录,方法如下

href="<%=Request.ApplicationPath%>/link.aspx"

这样,无论从何处访问都会返回当前虚拟目录下的link.aspx。

 

转自:http://cool8511.blog.hexun.com/30580055_d.html

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值