~/通常用辅助函数来表示<%= ResolveUrl() %>,例如.它指的是网站的根,而../只是指父目录.两者都是相对的网址.
我们来举个例子吧.假设您的网站托管在一个名为的虚拟目录中MyApplication.当你使用<%= ResolveUrl("~/foo/bar") %>它时会生成/MyApplication/foo/bar输出url,这无论在哪个WebForm位置.
路径有两种:
当您只使用/或../使用相对于IIS的常规路径时-Web服务器-网站URL。也就是说,/myfile.txt如果您的应用程序托管在名为的虚拟目录中,那将是错误的mydir。在这种情况下,/myfile.txt会在这样一个URL结尾:http://www.mydomain.com/myfile.txt,当你预期http://www.mydomain.com/mydir/myfile.txt。
因此,ASP.NET使您有机会提供虚拟路径。所有这些都始于~角色。该~字符指定的解决URI是相对于IIS应用程序。以上面的期望为例http://www.mydomain.com/mydir/myfile.txt,正确的虚拟路径将是~/myfile.txt。
请注意,非服务器控件中不允许使用虚拟路径。在选定数量的ASP.NET类方法和服务器控件中使用了这种路径。
| 归档时间: |
|
| 查看次数: |
1960 次 |
| 最近记录: |