ASP.NET Web Sayfaları - Klasörler
Bu bölüm, klasörler ve klasör yolları hakkındadır.
Bu bölümde şunları öğreneceksiniz:
- Mantıksal ve Fiziksel klasör yapıları hakkında
- Sanal ve Fiziksel adlar hakkında
- Web URL'leri ve Yollar hakkında
Mantıksal Klasör Yapısı
Aşağıda bir ASP.NET web sayfaları web sitesi için tipik bir klasör yapısı verilmiştir:
- "Hesap" klasörü, oturum açma ve güvenlik dosyalarını içerir
- "App_Data" klasörü, veritabanlarını ve veri dosyalarını içerir
- "Görüntüler" klasörü görüntüleri içerir
- "Komut Dosyaları" klasörü tarayıcı komut dosyalarını içerir
- "Paylaşılan" klasör, ortak dosyaları içerir (düzen ve stil dosyaları gibi)
Fiziksel Klasör Yapısı
Yukarıdaki web sitesindeki "Görüntüler" klasörünün fiziksel yapısı bir bilgisayarda şöyle görünebilir:
C:\Johnny\Belgeler\MyWebSites\Demo\Görüntüler
Sanal ve Fiziksel İsimler
Yukarıdaki örnekten:
Bir web resminin sanal adı "Images/pic31.jpg" olabilir.
Ancak fiziksel ad "C:\Johnny\Documents\MyWebSites\Demo\Images\pic31.jpg"
URL'ler ve Yollar
URL'ler, web'den dosyalara erişmek için kullanılır: https://www.w3schools.com/html/html5_intro.asp
URL, bir sunucudaki fiziksel bir dosyaya karşılık gelir: C:\MyWebSites\w3schools\html\html5_intro.asp
Sanal yol, fiziksel yolları temsil eden bir kısayoldur. Sanal yollar kullanıyorsanız, yolları güncellemek zorunda kalmadan sayfalarınızı farklı bir etki alanına (veya sunucuya) taşıyabilirsiniz.
URL | https://www.w3schools.com/html/html5_intro.asp |
Sunucu adı | w3okulları |
sanal yol | /html/html5_intro.asp |
Fiziksel yol | C:\MyWebSites\w3schools\html\html5_intro.asp |
Bir disk sürücüsündeki kök C:\ gibi yazılır, ancak bir web sitesindeki kök / (eğik çizgi) şeklindedir.
Bir web klasörünün sanal yolu (neredeyse) hiçbir zaman fiziksel klasörle aynı değildir.
Kodunuzda, neyi kodladığınıza bağlı olarak hem fiziksel yola hem de sanal yola başvuracaksınız.
ASP.NET, klasör yollarıyla çalışmak için 3 araca sahiptir: ~ operatörü, Server.MapPath yöntemi ve Href yöntemi.
~ Operatör
Programlama kodunda sanal kökü belirtmek için ~ operatörünü kullanın.
Yol yerine ~ operatörünü kullanırsanız, web sitenizi herhangi bir kod değiştirmeden farklı bir klasöre veya konuma taşıyabilirsiniz:
var myImagesFolder = "~/images";
var myStyleSheet = "~/styles/StyleSheet.css";
Server.MapPath Yöntemi
Server.MapPath yöntemi, sanal bir yolu (/default.cshtml) sunucunun anlayabileceği fiziksel bir yola (C:\Johnny\MyWebSited\Demo\default.cshtml) dönüştürür.
Sunucuda bulunan veri dosyalarını açmanız gerektiğinde bu yöntemi kullanacaksınız (veri dosyalarına yalnızca tam fiziksel yol ile erişilebilir):
var pathName = "~/dataFile.txt";
var fileName = Server.MapPath(pathName);
Bu öğreticinin sonraki bölümünde sunucudaki veri dosyalarını okuma (ve bunlara yazma) hakkında daha fazla bilgi edineceksiniz.
Href Yöntemi
Href yöntemi, kodda kullanılan bir yolu tarayıcının anlayabileceği bir yola dönüştürür (tarayıcı ~ operatörünü anlayamaz).
Resim dosyaları ve CSS dosyaları gibi kaynaklara giden yollar oluşturmak için Href yöntemini kullanırsınız.
You will often use this method in HTML <a>, <img>, and <link> elements:
@{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"
/>
The Href method is a method of the WebPage Object.