ASP.NET Web Pages - Foler

Ang kabanata na ito ay naglalarawan ng folder at path ng folder.

Sa kabanata na ito, malalaman mo:

  • Logical and physical folder structure
  • Virtual at physical names
  • Web URL at path

Logical folder structure

Nasa ibaba ang tipikal na folder structure ng ASP.NET webpage:

Web Pages na estraktura ng folder
  • Ang folder na "Account" ay naglalaman ng file na pang-login at seguridad
  • Ang file na "App_Data" ay naglalaman ng database at data file
  • Ang folder na "Images" ay naglalaman ng mga litrato
  • Ang folder na "Scripts" ay naglalaman ng script ng browser
  • Ang folder na "Shared" ay naglalaman ng pangkalahatang file (katulad ng file na layout at style)

Physical file structure

Ang physical structure ng folder na "Images" ng website na ito sa kompyuter ay katulad nito:

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

Virtual at physical names

Ayon sa mga halimbawa sa itaas:

Ang pangalang virtual ng image sa web ay katulad nito: "Images/pic31.jpg".

Ngunit ang pangalang physical ay katulad nito "C:\Johnny\Documents\MyWebSites\Demo\Images\pic31.jpg".

URL at path

Ang URL ay ginagamit para sa pag-access ng file mula sa web:

http://www.codew3c.com/html5/html5_intro.asp

Ang file na nasa server na katulad ng URL ay:

C:\MyWebSites\htm5\html5_intro.asp

Ang virtual path ay isang maikling paraan para sa physical path. Kung gamit mo ang virtual path, masasailalim ang webpage sa iba't ibang domain (o server) ng walang pag-update sa path.

URL	http://www.codew3c.com/html/html5_intro.asp
Server name	codew3c
Virtual path	/html/html5_intro.asp
Physical path	C:\MyWebSites\codew3c\/html/html5_intro.asp

Ang root directory sa disk drive ay pinaliliwanag na: C:\, ngunit ang root directory sa website ay / (slas)

Ang virtual path ng folder na web ay hindi kailanman magkakasama sa physical folder.

Sa iyong code, ayon sa iba't ibang nilalaman ng code, maaaring magkaroon ng magkakasalungat na path na paminsanang at virtual.

ASP.NET ay nagbibigay ng tatlong kasangkapan para sa paglilista ng path ng folder: ~ operator, Server.MapPath method, at Href method.

~ operator

Kung gusto mong itakda ang virtual root directory sa iyong code, gamitin ang ~ operator.

Kung gamit mo ang ~ operator, sa halip ng path, masasailalim ang website sa iba't ibang folder o lokasyon ng walang pagbabago sa anumang code:

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 对象的方法。