ASP.NET Web Pages - فایل‌ها

این فصل معرفی پوشه‌ها و مسیرهای پوشه‌ها است.

در این فصل، شما خواهید آموخت:

  • ساختار منطقی و فیزیکی پوشه
  • نام مجازی و فیزیکی
  • URL و مسیر وب

ساختار منطقی پوشه

در اینجا ساختار پوشه‌های وب‌صفحه ASP.NET معمولی آورده شده است:

ساختار پوشه صفحات وب
  • پوشه "Account" شامل فایل‌های ورود و امنیت است
  • پوشه "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 برای دسترسی به فایل از وب استفاده می‌شود:

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

فایل مرتبط با URL در سرور:

C:\MyWebSites\htm5\html5_intro.asp

مسیر مجازی یک شکل کوتاه برای مسیر فیزیکی است. اگر از مسیر مجازی استفاده کنید، می‌توانید وب‌صفحه را به یک دامنه (یا سرور) دیگر منتقل کنید بدون اینکه نیاز به به‌روزرسانی مسیر باشد.

URL	http://www.codew3c.com/html/html5_intro.asp
نام سرور	codew3c
مسیر مجازی	/html/html5_intro.asp
مسیر فیزیکی	C:\MyWebSites\codew3c\/html/html5_intro.asp

پوشه ریشه روی دیسک درایو به این شکل نوشته می‌شود: C:\، اما پوشه ریشه وب به این شکل است / (خط افقی).

مسیر مجازی پوشه وب هرگز با پوشه فیزیکی یکسان نیست.

در کد شما، ممکن است به مسیر فیزیکی و مجازی به طور همزمان اشاره کنید، بسته به محتوای کد.

ASP.NET سه ابزار برای مدیریت مسیرهای پوشه ارائه می‌دهد: علامت ~، روش 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 است.