asp.net中的Server.MapPath怎么获取上级目录???找了网上的方法都不行

来源:百度知道 编辑:UC知道 时间:2024/07/06 00:43:09
我的网站根目录是web,然后主页Default.aspx就在根目录下,主页要连接数据库的,为了防止别人能从网站上直接下载数据库,现在我想把数据库放在根目录的上级目录下的一个db文件夹里,也就是web和db文件夹是同级的,怎么使用Server.MapPath获取web上级目录下的db文件夹?

网上找了很多试了都不行,都是提示说“无法使用前导 .. 在顶级目录上退出”。

结果我自己写了句Server.MapPath(".") + "\\..\\db\\db.mdb"居然可以。。但我感觉这写法很怪,先获取当前路径,再上级里的db

有没有更准确的方法?

很简单哦。

如果你给的路径是变量名为path

获取当前目录:
Path.GetDirectoryName(path);

获取上一级目录
Path.GetDirectoryName(Path.GetDirectoryName(path));

注意,路径的后面有\\和没有\\是有区别的,也就是说"C:\\123"和"C:\\123\\"是有区别的,自己测试一下就知道了。

在IIS的站点属性中,有个设置,

叫做允许父路径,就是你这个情况,

你找找看,在应用程序配置里。