一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - ASP.NET教程 - ASP.NET編程獲取網站根目錄方法小結

ASP.NET編程獲取網站根目錄方法小結

2019-12-27 12:36一狼哥 ASP.NET教程

這篇文章主要介紹了ASP.NET編程獲取網站根目錄方法,較為詳細的分析了ASP.NET針對網站目錄及物理路徑的操作技巧,并給出了實例予以總結,需要的朋友可以參考下

本文實例講述了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:\Inetpub\wwwroot\EnglishClub\manage\WebForm1.aspx
C:\Inetpub\wwwroot\
C:\Inetpub\wwwroot\EnglishClub\manage
C:\Inetpub\wwwroot\EnglishClub\manage
C:\Inetpub\wwwroot\EnglishClub\
C:\Inetpub\wwwroot\EnglishClub

以上的方法可以在.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:\Inetpub\wwwroot\EnglishClub\(就是當前程序運行的所在根目錄)

如果存儲 附件的路勁 進數據庫的話,不應該把絕對路勁存進去。應該只存儲 文件名部分。例如:

/uploads/abc.txt
當需要瀏覽文件的時候,在在讀取出來的路徑:(即/uploads/abc.txt),前面+網站的路勁:例如:

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

補充:

ASP.NET中獲取網站根目錄和物理路徑完整實例:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
/// <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程序設計有所幫助。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: chinese壮直男gay老年人 | 精品一区二区三区色花堂 | a天堂在线视频 | 国产精品成人一区二区 | www.精品在线| 扒开放荡老师裙子猛烈的进入 | 国产第一福利影院 | 亚洲人成网站在线观看妞妞网 | 91精品国产免费久久国语蜜臀 | 欧美日韩国产另类一区二区三区 | 亚州笫一色惰网站 | 亚洲国产免费 | 成人免费在线视频 | 国产精品区一区二区免费 | 51香蕉视频| 动漫白丝袜美女羞羞 | 日韩欧美高清一区 | 无人在线高清免费看 | 亚洲国产精品第一区二区三区 | ffee性xxⅹ另类老妇hd | 第一福利在线视频 | 国产一级毛片外aaaa | 天堂va在线| 亚洲一区二区三区福利在线 | 色老板最新网站视频地址 | 黄色大片免费网站 | 欧美一级视| 国产精品视频色拍拍 | 亚洲免费网站在线观看 | 人人人人看人人人做人人 | 无人在线视频高清免费播放 | 男公厕里同性做爰 | 高h肉厨房 | 国产精品福利在线观看秒播 | 日产乱码卡一卡2卡三卡四福利 | 973影院 | 亚洲欧美激情日韩在线 | 鬼吹灯之天星术免费观看 | 精品久久香蕉国产线看观看麻豆 | 国产-第1页-草草影院 | 91大神第九部红酒气质女 |