(".") ("./") ("")  当前目录
/根目录
../上层目录(相对当前来说)

Code


string Server.MapPath(string path)
返回与Web服务器上的指定虚拟路径相对应的物理文件路径。

<%=Server.MapPath(Request.ServerVariables["PATH_INFO"])%>    C:\Inetpub\wwwroot\EnglishClub\manage\WebForm1.aspx
<%= Server.MapPath("/")%>  C:\Inetpub\wwwroot\

<%= Server.MapPath("")%>  C:\Inetpub\wwwroot\EnglishClub\manage
<%=Server.MapPath(".")%>  C:\Inetpub\wwwroot\EnglishClub\manage

<%= Server.MapPath("../")%>  C:\Inetpub\wwwroot\EnglishClub\
<%= Server.MapPath("..")%>C:\Inetpub\wwwroot\EnglishClub  



用法:
1.Server.MapPath("/")  应用程序根目录所在的位置 如 C:\Inetpub\wwwroot\
2.Server.MapPath("./")  表示所在页面的当前目录 注:等价于Server.MapPath("")  Server.MapPath(".") 
3.Server.MapPath("../")表示上一级目录
4.Server.MapPath("~/")表示当前应用级程序的目录,如果是根目录,就是根目录,如果是虚拟目录,就是虚拟目录所在的位置 如:C:\Inetpub\wwwroot\Example\
注:等效于Server.MapPath("~")。

不知道是否正确,研究中......
另:以下几句等效
string filename=Server.MapPath("./") + @"\Web.config";
string filename=Server.MapPath("./") + "/Web.config";
string filename=Server.MapPath("") + @"\Web.config"

附一例子:修改web.config的某一节点的属性值

    public void write()
        
{
            
string key1 = this.TextBox1.Text;
            DataSet ds 
= new DataSet();
            ds.ReadXml(Server.MapPath(
"")+"/web.config");
            
// 不是Tables[0]
            ds.Tables[1].Rows[0][1= key1;
            ds.AcceptChanges();
            ds.WriteXml(Server.MapPath(
"")+"/web.config");
            ds.Dispose();
            
        }