ASP.NET Web Sayfaları - Dizin

Bu bölüm, klasörleri ve klasör yollarını tanıtmaktadır.

Bu bölümde, öğreneceksiniz:

  • Lojik ve fiziksel klasör yapısı
  • Sanal ve fiziksel adlar
  • Web URL ve yol

Lojik klasör yapısı

Aşağıda, ASP.NET web sayfasının tipik klasör yapısı verilmiştir:

Web Sayfaları Düzeni
  • "Account" klasörü, giriş ve güvenlik dosyalarını içerir
  • "App_Data" klasörü, veritabanı ve veri dosyalarını içerir
  • "Images" klasörü, resimleri içerir
  • "Scripts" klasörü, tarayıcı betiklerini içerir
  • "Shared" klasörü, ortak dosyaları (örneğin, düzen ve stil dosyaları) içerir

Fiziksel dosya yapısı

Bu web sitesinin "Images" klasörünün fiziksel yapısı bilgisayarda benzer şekilde görünüyor:

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

Sanal ve fiziksel adlar

Yukarıdaki örneğe göre:

Web resminin sanal adı benzeri bu: "Images/pic31.jpg".

Ancak fiziksel ad benzeri bu "C:\Johnny\Documents\MyWebSites\Demo\Images\pic31.jpg".

URL ve yol

URL, web dosyasına erişmek için kullanılır:

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

Sunucuda URL'ye karşılık gelen dosya:

C:\MyWebSites\htm5\html5_intro.asp

Sanal yol, fiziksel yolu temsil eden kısaltmadır. Sanal yolu kullanırsanız, web sayfasını yol güncellemeksizin farklı bir alan adı (veya sunucu)ye taşıyabilirsiniz.

URL	http://www.codew3c.com/html/html5_intro.asp
Sunucu adı	codew3c
Sanal yol	/html/html5_intro.asp
Fiziksel yol	C:\MyWebSites\codew3c\/html/html5_intro.asp

Disk sürücüsündeki kök dizini yazılır: C:\, ancak web sitesindeki kök dizini / (çizgi)'dir.

Web klasörünün sanal yolu (neredeyse) her zaman fiziksel klasörle aynı değildir.

Kodunuzdaki içerik türüne bağlı olarak, fiziksel yol ve sanal yolun aynı anda referans alınabilir.

ASP.NET, dosya yolunu işleme üç araç sunar: ~ işlevi, Server.MapPath yöntemi ve Href yöntemi.

~ işlevi

Sanal kök dizinini programlama kodunda belirlemek için ~ işlevini kullanın.

Eğer ~ işlevini kullanırsanız, yol yerine, herhangi bir kodu değiştirmeden web sitesini farklı bir klasör veya konuma taşıyabilirsiniz:

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

Server.MapPath yöntemi

Server.MapPath yöntemi, sanal yolu (/default.cshtml) sunucunun anlayabileceği fiziksel yola (C:\Johnny\MyWebSited\Demo\default.cshtml) dönüştürür.

Sunucudaki veri dosyasını açmanız gerektiğinde bu yöntemi kullanırsınız (veri dosyaları yalnızca tam fiziksel yoldan erişilebilir):

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

Önümüzdeki dersinde, sunucuda veri dosyalarını okuma ve yazma hakkında daha fazla şey öğreneceksiniz.

Href yöntemi

Href yöntemi koddaki yolları tarayıcıyı anlayabileceği yollara dönüştürür (tarayıcı ~ operatörünü anlayamaz).

Kaynaklara (örneğin, resimler ve CSS dosyaları) yönlendirme oluşturmak için Href yöntemini kullanırsınız.

HTML <a>、<img> ve <link> elementlerinde sıkça bu yöntemi kullanırsınız:

@{var myStyleSheet = "~/Shared/Site.css";}
<!-- CSS dosyasına yönlendirme oluşturma -->
<link rel="stylesheet" type="text/css" href="@Href(myStyleSheet)" />
<!-- Aynıdır : -->
<link rel="stylesheet" type="text/css" href="/Shared/Site.css" />

Href yöntemi WebPage nesnesinin yöntemlerindendir.