• 1.路径


    在WinForm中当前路径为.\, 上级目录为..\, 根目录为\.

    而在web中/表示根目录,./表示当前目录,../表示上级目录。

    在asp.net中用~表示虚拟路径,是asp.net中的一种标识,表示从应用根目录开始的位置。

    如我们将一个应用程序部署到http://localhost:8080/Sorce这个目录下,应用的根目录(即webapplication)是http://localhost:8080/,即~/imgs/default.htm相当于完整的目录为http://localhost:8080/imgs/default.htm.

    而网站(新建website)的根目录为:http://localhost:8080/Source,如~/imgs/default.htm就相当于http://localhost:8080/Source/imgs/default.htm.

    实例:

      我们分别建立WebApplication和WebSite,它们的目录如下:

    都为它们建立一个默认页,里面放置一个连接用来打开1.jpg.两个网页的代码是一样的,如下图:

    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title></title>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
        
            <asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" />
          <a href="/a/b/imgs/1.jpg">连接</a>
        </div>
        </form>
    </body>
    </html>

    然后分别运行,并把鼠标话在“连接”上面,在浏览器的状栏下可以看到网站的绝对路径:

    在WebApplication上显示为:

    在WebSite上显示为:

    因此可以看出对于WebApplication,是对于网站为根目录,而对了webSite是以它的路径为根目录。

    浏览器并不认识~,是asp.net会把它转成相对于网站根目录的全路径再传给浏览器。

    • 如果在服务端控件中(使用runat=server)会自动将~进行转换,如果在HTML控件或者需要在代码中转换的话可以使用VirtualPathUtility类中静态方法进行虚拟路径、全路径等的转换,比如VirtualPathUtility.ToAbsolute(“~/imgs/default.aspx“”)就是将虚拟路径转换为相对网站根的全路径,即/website/imgs/default.aspx
    • VirtualPathUtility类主要方法:string AppendTrailingSlash(string VirtualPath):如果VirtualPath最后没有'/'则添加。string Combine(string basePath,string relativePath),将两个路径合并,返回虚拟路径的目录部分;string MakeRelative(string fromPath,string toPath):计算两个虚拟路径的相对路径;ToAbsolute,转换为绝对路径
  • 相关阅读:
    EXCEL启动慢
    存货跌价准备-资产减值损失
    绩效软件交流-ZQDJ
    库存股
    CF788A Functions again dp
    CF788C The Great Mixing BFS+思维
    CF788B Weird journey 欧拉路径+计数
    CF786C Till I Collapse 整体二分+根号分治
    CF922D Robot Vacuum Cleaner 贪心+排序
    CF920C Swap Adjacent Elements 贪心
  • 原文地址:https://www.cnblogs.com/yagzh2000/p/3127148.html
Copyright © 2020-2023  润新知