Menu
×
   ❮     
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

ASP.NET 网页 - 文件夹


本章介绍文件夹和文件夹路径。


在本章中,您将学习

  • 逻辑和物理文件夹结构
  • 虚拟和物理名称
  • 关于 Web URL 和路径

逻辑文件夹结构

以下是 ASP.NET 网页网站的典型文件夹结构

Folders
  • "帐户" 文件夹包含登录和安全文件
  • "App_Data" 文件夹包含数据库和数据文件
  • "Images" 文件夹包含图像
  • "Scripts" 文件夹包含浏览器脚本
  • "Shared" 文件夹包含公共文件(如布局和样式文件)

物理文件夹结构

上面网站中 "Images" 文件夹的物理结构在计算机上可能如下所示

C:\Johnny\Documents\MyWebSites\Demo\Images


虚拟和物理名称

从上面的示例中

网页图片的虚拟名称可能是 "Images/pic31.jpg"

但物理名称是 "C:\Johnny\Documents\MyWebSites\Demo\Images\pic31.jpg"



URL 和路径

URL 用于从 Web 访问文件:https://w3schools.org.cn/html/html5_intro.asp

URL 对应于服务器上的物理文件:C:\MyWebSites\w3schools\html\html5_intro.asp

虚拟路径是用于表示物理路径的简写。如果您使用虚拟路径,则可以将页面移动到不同的域(或服务器)而无需更新路径。

URL https://w3schools.org.cn/html/html5_intro.asp
服务器名称 w3schools
虚拟路径 /html/html5_intro.asp
物理路径 C:\MyWebSites\w3schools\html\html5_intro.asp

磁盘驱动器上的根目录写为 C:\,但网站上的根目录为  /(斜杠)。

网页文件夹的虚拟路径(几乎)永远不会与物理文件夹相同。

在您的代码中,您将根据编码的内容引用物理路径和虚拟路径。

ASP.NET 有 3 个用于处理文件夹路径的工具:~ 运算符、Server.MapPath 方法和 Href 方法。


~ 运算符

要在编程代码中指定虚拟根目录,请使用 ~ 运算符。

如果您使用 ~ 运算符而不是路径,则可以将网站移动到不同的文件夹或位置,而无需更改任何代码

var myImagesFolder = "~/images";
var myStyleSheet = "~/styles/StyleSheet.css";

Server.MapPath 方法

Server.MapPath 方法将虚拟路径(/default.cshtml)转换为服务器可以理解的物理路径(C:\Johnny\MyWebSited\Demo\default.cshtml)。

当您需要打开位于服务器上的数据文件时,您将使用此方法(数据文件只能使用完整的物理路径访问)

var pathName = "~/dataFile.txt";
var fileName = Server.MapPath(pathName);

您将在本教程的下一章中了解有关从服务器读取(和写入)数据文件的更多信息。


Href 方法

Href 方法将代码中使用的路径转换为浏览器可以理解的路径(浏览器无法理解 ~ 运算符)。

您使用 Href 方法创建指向图像文件和 CSS 文件等资源的路径。

您经常会在 HTML <a>、<img> 和 <link> 元素中使用此方法

@{var myStyleSheet = "~/Shared/Site.css";}

<!-- 这会创建一个指向 CSS 文件的链接。 -->
<link rel="stylesheet" type="text/css" href="@Href(myStyleSheet)" />

<!-- 等同于 : -->
<link rel="stylesheet" type="text/css" href="/Shared/Site.css" />

Href 方法是 WebPage 对象的方法。


×

Contact Sales

If you want to use W3Schools services as an educational institution, team or enterprise, send us an e-mail:
[email protected]

Report Error

If you want to report an error, or if you want to make a suggestion, send us an e-mail:
[email protected]

W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. While using W3Schools, you agree to have read and accepted our terms of use, cookie and privacy policy.

Copyright 1999-2024 by Refsnes Data. All Rights Reserved. W3Schools is Powered by W3.CSS.