پوشه ها (WebPages Folders)
در Web Pages، «پوشه ها در Web Pages» یعنی نظم فایل ها و مسیرها. «مسیر (Path)» آدرس فایل است. دو نوع داریم: مجازی و فیزیکی. مسیر مجازی برای وب است. مسیر فیزیکی برای دیسک است. سپس با ابزارهای ASP.NET بین این دو جابه جا می شویم.
ساختار منطقی و فیزیکی
ساختار منطقی، پوشه های کاربردی مثل Account، App_Data، Images و Shared را نشان می دهد. اما ساختار فیزیکی، همان آدرس روی دیسک است. بنابراین ممکن است Images در دیسک زیر C:\... باشد، ولی در وب با /Images دیده شود.
نام مجازی و نام فیزیکی
نام مجازی مثل Images/pic31.jpg برای وب است. نام فیزیکی مثل C:\...\Images\pic31.jpg روی دیسک قرار دارد. بنابراین یکی برای مرورگر است و دیگری برای سرور.
URL، مسیر مجازی، و مسیر فیزیکی
URL فایل وب را نشان می دهد. مسیر مجازی از ریشه وب با اسلش شروع می شود. ریشه دیسک با C: است، اما ریشه وب با / است. سپس می توانیم بدون تغییر کد، سایت را جابه جا کنیم.
عملگر ~ برای ریشه مجازی
با «~» ریشه سایت را در کد مشخص می کنیم. سپس جابه جایی سایت، مسیرها را نمی شکند.
@{
var myImagesFolder = "~/images";
var myStyleSheet = "~/styles/StyleSheet.css";
}
Server.MapPath برای مسیر فیزیکی
متد «Server.MapPath» مسیر مجازی را به مسیر فیزیکی تبدیل می کند. سپس می توانی فایل های داده را باز کنی.
@{
var pathName = "~/dataFile.txt";
var fileName = Server.MapPath(pathName);
}
Href برای مسیر قابل فهم مرورگر
مرورگر «~» را نمی فهمد. بنابراین «Href» مسیر قابل استفاده مرورگر می سازد. سپس در تگ های HTML استفاده کن.
@{
var myStyleSheet = "~/Shared/Site.css";
}
<!-- This creates a link to the CSS file. -->
<link rel="stylesheet" type="text/css" href="@Href(myStyleSheet)" />
<!-- Same as: -->
<link rel="stylesheet" type="text/css" href="/Shared/Site.css" />
گام های تمرین
- یک مسیر با ~ تعریف کن.
- با Server.MapPath مسیر فیزیکی را بگیر.
- با Href مسیر وب را در HTML استفاده کن.
نکته: برای چیدمان پوشه ها از چیدمان Web Pages الگو بگیر. برای ادامه مبحث مسیرهای سراسری به Web Pages Global برو. همچنین راهنمای پوشه ها در Web Pages را به عنوان مرجع نگه دار.
جمع بندی سریع
- مسیر مجازی برای وب است؛ فیزیکی برای دیسک.
- ~ ریشه سایت را نشان می دهد.
- Server.MapPath مسیر فیزیکی می دهد.
- Href مسیر قابل فهم مرورگر می سازد.