【问题标题】:significance of tilde sign波浪号的意义
【发布时间】:2012-10-10 19:38:03
【问题描述】:
string path = context.Server.MapPath("~/Temp");

string path = context.Server.MapPath("/Temp");

一样吗?

我知道 '~' 代表 root 但想知道区别 bw ~/folder/folder

【问题讨论】:

标签: asp.net file-upload


【解决方案1】:

服务器控件中的绝对和相对路径引用具有 以下缺点:

  • 绝对路径在应用程序之间不可移植。如果你移动 绝对路径指向的应用程序,链接将断开。

  • 客户端元素样式中的相对路径可能很难 如果您将资源或页面移动到不同的文件夹,请进行维护。

为了克服这些缺点,ASP.NET 包含了 Web 应用程序 根运算符 (~),您可以在服务器中指定路径时使用它 控制。 ASP.NET 将 ~ 运算符解析为当前的根 应用。

http://msdn.microsoft.com/en-us/library/ms178116(v=vs.100).aspx

~/ 解析为应用程序根目录。

/ 解析为站点根目录。

当呈现服务器资源(如控件或视图)时,~/ 路径会根据应用程序的结构和上下文解析为站点根路径(因为 ~/ 对 Web 浏览器毫无意义)。

为简化起见,应用程序根目录 (~/) 在 ASP.Net 应用程序(Web 表单和 MVC)中几乎总是正确的选择。

【讨论】:

    猜你喜欢
    • 2012-11-06
    • 1970-01-01
    • 2019-07-07
    • 2011-09-22
    • 1970-01-01
    • 2021-09-15
    • 2019-04-09
    • 1970-01-01
    • 2013-03-06
    相关资源
    最近更新 更多