string path = context.Server.MapPath("~/Temp");
或者
string path = context.Server.MapPath("/Temp");
一样吗?
我知道 '~' 代表 root 但想知道 diff bw~/folder
和/folder
string path = context.Server.MapPath("~/Temp");
或者
string path = context.Server.MapPath("/Temp");
一样吗?
我知道 '~' 代表 root 但想知道 diff bw~/folder
和/folder
服务器控件中的绝对和相对路径引用具有以下缺点:
绝对路径在应用程序之间不可移植。如果移动绝对路径指向的应用程序,链接将断开。
如果将资源或页面移动到不同的文件夹,则客户端元素样式中的相对路径可能难以维护。
为了克服这些缺点,ASP.NET 包含了 Web 应用程序根运算符 (~),您可以在指定服务器控件中的路径时使用它。ASP.NET 将 ~ 运算符解析为当前应用程序的根。
请参阅http://msdn.microsoft.com/en-us/library/ms178116(v=vs.100).aspx
~/
解析为应用程序根。
/
解析为站点根目录。
当呈现服务器资源(如控件或视图)时,~/
路径会根据应用程序的结构和上下文解析为站点根路径(因为~/
对 Web 浏览器没有意义)。
为简化起见,应用程序根目录 ( ~/
) 几乎总是 ASP.Net 应用程序(Web 表单和 MVC)中的正确选择。