一聚教程网:一个值得你收藏的教程网站

热门教程

.net 取得当前目录的方法

时间:2022-06-25 04:03:09 编辑:袖梨 来源:一聚教程网

获取

方法一:

 代码如下 复制代码

string sPath = System.IO.Path.GetDirectoryName(Page.Request.PhysicalPath)

方法二:

 代码如下 复制代码
string sPath = System.Web.HttpContext.Current.Request.MapPath("/")         

                                

方法三:

 代码如下 复制代码
string sPath = Page.Server.MapPath("/");

我推荐使用第二种

有时候可能出现找不到类的情况,请引用System.Web.dll

另外参考

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

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。

热门栏目