[小菜一碟] ASP.NET 的相对路径使用 /(Slash)跟 ~/(Tilde Slash)的区别

无论我们是要引用网站的资源,还是做重新导向,除非是外部的资源,不然使用相对路径绝对是优选,在 ASP.NET 的世界里面我们用来表达根目录有人会用 /(Slash),有人会用 ~/(Tilde Slash),但它们两个的差别在哪?


公布答案,/ 代表的是网站根目录,~/ 代表的是应用程序根目录,我用范例来说明,底下我在 IIS 弄了个网站,而网站的实例路径指向某个 ASP.NET MVC 的应用程序。

当我浏览首页的时候我强制重新导向到登入页,用 / 跟 ~/ 都测试看看。

测试结果是“没差别”,都能正确重新导向到登入页。

然后我在网站底下新增一个 abc 应用程序,实例路径指向跟网站相同的应用程序。

这时候 / 跟 ~/ 就有差别了,我们浏览 abc 就会发现 ~/ 是导向 abc 的登入页。

干程序设计这一行遇到相同问题但不同解法,却不知其所以然就是替自己在未来埋下一颗地雷,何时会踩中自爆不知道。

参考资源

  • slash(/) vs tilde slash (~/) in style sheet path in asp.net

原文:大专栏  [小菜一碟] ASP.NET 的相对路径使用 /(Slash)跟 ~/(Tilde Slash)的区别


猜你喜欢

转载自www.cnblogs.com/chinatrump/p/11458541.html
今日推荐