问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

asp,如何获取网站根目录?用server.mappath()!

发布网友 发布时间:2022-04-27 10:54

我来回答

2个回答

懂视网 时间:2022-04-27 15:15

本文实例讲述了ASP.NET编程获取网站根目录方法。分享给大家供大家参考,具体如下:

获取网站根目录的方法有几种如:

Server.MapPath(Request.ServerVariables["PATH_INFO"])
Server.MapPath("/")
Server.MapPath("")//当前代码文件所在的目录路劲
Server.MapPath(".")
Server.MapPath("../")
Server.MapPath("..") 
Page.Request.ApplicationPath

以上的代码在http://localhost/EnglishClub/manage/WebForm1.aspx页面

运行结果:

C:InetpubwwwrootEnglishClubmanageWebForm1.aspx
C:Inetpubwwwroot
C:InetpubwwwrootEnglishClubmanage
C:InetpubwwwrootEnglishClubmanage
C:InetpubwwwrootEnglishClub
C:InetpubwwwrootEnglishClub

以上的方法可以在.aspx中访问,但是如果你在。cs文件就不能用。

HttpContext.Current.Server.MapPath();
System.Web.HttpContext.Current.Request.PhysicalApplicationPath

在.cs文件中可以用。但是HttpContext.Current.Server.MapPath();这个获取的是文件的路径而不是根目录。

只有System.Web.HttpContext.Current.Request.PhysicalApplicationPath 这个才是获取的根目录,在写获取数据库路径是应该用这个,其他的都有问题。

System.Web.HttpContext.Current.Request.PhysicalApplicationPath
和Server.MapPath("~/")效果是一样的。

Server.MapPath("~/");//无论代码所在的文件的、页面路劲是什么,永远返回 C:InetpubwwwrootEnglishClub(就是当前程序运行的所在根目录)

如果存储 附件的路劲 进数据库的话,不应该把绝对路劲存进去。应该只存储 文件名部分。例如:

/uploads/abc.txt
当需要浏览文件的时候,在在读取出来的路径:(即/uploads/abc.txt),前面+网站的路劲:例如:

http://abc.com+"/uploads/abc.txt"

补充:

ASP.NET中获取网站根目录和物理路径完整实例:

/// <summary>
/// 取得网站的根目录的URL
/// </summary>
/// <returns></returns>
public static string GetRootURI()
{
 string AppPath = "";
 HttpContext HttpCurrent = HttpContext.Current;
 HttpRequest Req;
 if (HttpCurrent != null)
 {
 Req = HttpCurrent.Request;
 string UrlAuthority = Req.Url.GetLeftPart(UriPartial.Authority);
 if (Req.ApplicationPath == null || Req.ApplicationPath == "/")
 //直接安装在 Web 站点 
 AppPath = UrlAuthority;
 else
 //安装在虚拟子目录下 
 AppPath = UrlAuthority + Req.ApplicationPath;
 }
 return AppPath;
}
/// <summary>
/// 取得网站的根目录的URL
/// </summary>
/// <param name="Req"></param>
/// <returns></returns>
public static string GetRootURI(HttpRequest Req)
{
 string AppPath = "";
 if(Req != null)
 {
 string UrlAuthority = Req.Url.GetLeftPart(UriPartial.Authority);
 if (Req.ApplicationPath == null || Req.ApplicationPath == "/")
 //直接安装在 Web 站点 
 AppPath = UrlAuthority;
 else
 //安装在虚拟子目录下 
 AppPath = UrlAuthority + Req.ApplicationPath;
 }
 return AppPath;
}
/// <summary>
/// 取得网站根目录的物理路径
/// </summary>
/// <returns></returns>
public static string GetRootPath()
{
 string AppPath = "";
 HttpContext HttpCurrent = HttpContext.Current;
 if (HttpCurrent != null)
 {
 AppPath = HttpCurrent.Server.MapPath("~");
 }
 else
 {
 AppPath = AppDomain.CurrentDomain.BaseDirectory;
 if (Regex.Match(AppPath, @"\$", RegexOptions.Compiled).Success)
 AppPath = AppPath.Substring(0, AppPath.Length - 1);
 }
 return AppPath;
}

希望本文所述对大家asp.net程序设计有所帮助。

热心网友 时间:2022-04-27 12:23

<%
Response.Write Server.MapPath("/")
%>

?
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
房产证是房管局具体哪个部门在办理 电脑绿灯闪烁无法开机电脑主机绿灯一直亮但是开不开机没有反应_百度... 联想19寸显示器出现绿色一闪一闪 显示器绿灯闪烁,没图像 为什么我的联想显示器的指示灯总是闪烁??? 梦见一个小乞丐撒尿到头来的预兆 国服3.22战斗贼如何打出《高》DPS 国服3.22盗贼天赋,武器选择 魔兽世界3.22版本,战斗贼输出循环,请详细一点儿,谢谢,还有,红色宝石全部... 当老板需要具备哪些品质和能力 寒地水稻25天秧龄可以插秧么? 在寒地磷酸二铵能不能提高水稻的分蘖 袁隆平团队设立首个“海水稻”寒地育种站,这对中国未来的农业会带来哪些好处? 水稻播种3公分深几天出苗? 寒地水稻田喷什么叶面肥早熟? 寒地粘水稻种子高产 寒地水稻底肥不施钾肥行吗? 黑水稻和寒地普通水稻的种植技术一样吗? 东北寒地育秧水稻育苗一盘大概播种量是多少 寒地水稻此时水层,施肥,防病虫害如何管理? 什么是水稻三化栽培 电信的红包卡听说用了就返支付宝红包,怎么返呀!? 问什么我的QQ邮箱每次打开写信时都会带出来默认的信纸,可以去掉吗,在哪里设置的 ASP.NET中如何定位网站的根目录? 第二次起诉离婚需要提交什么材料 在男方经常居住地起诉离婚,都需要什么证件? 单方起诉离婚需要什么证件 离婚排号需要什么资料 一个人怎么起诉离婚需要什么材料 临潼领结婚证记号领结婚证几号领离婚证离婚都需要什么手续? 哪个在线平台可以布置作业,完成班级管理? 兆字左右是两点水吗? 第五十八签婚姻中平 见龙淌水兆 婚姻本是命中排 示尔婚姻宜缓延 于今若得轻相许 只恐他人 海兔长什么样? 海兔的外形有哪些特征? 海兔子是什么 海兔是什么动物? 世界上有海兔吗?那长什么样子的? 求鉴定:大家帮忙看下,这是交趾黄檀黑料吗? 交趾黄檀什么颜色的好 大红酸枝的棕眼特征 云南洱海边小镇300元现场加工买的紫檀手串,是真的吗? 墨西哥沙漠铁木气干密度大于小叶紫檀是红木吗 怎么查询手机微信聊天记录 asp.net中的Server.MapPath怎么获取上级目录???找了网上的方法都不行 那种猕猴桃的口感好一些? 关于秋天夜雨的诗句 李白写的 关于下雨的诗 1982年七月廿四 本命太岁是谁 描绘雨的古诗