Bu bölümde klasör ve klasör yolları hakkındadır.
Bu bölümde öğreneceksiniz:
- Mantıksal ve Fiziksel klasör yapıları Hakkında
- Sanal ve Fiziksel adları hakkında
- Web URL'ler 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ı şöyledir:
- "Account" klasörü oturum açma ve güvenlik dosyalarını içeren
- "App_Data" klasörü veritabanları ve veri dosyalarını içerir
- "Images" klasörü görüntüleri içeriyor
- "Scripts" klasörü tarayıcı komut dosyalarını içerir
- "Shared" klasörü ortak dosyaları içerir (like layout and style files)
Fiziksel Klasör Yapısı
Fiziksel yapı "Images" Yukarıdaki web sitesinde klasörde bir bilgisayarda bu gibi görünebilir:
C: Johnny \ Documents \ \ MyWebSites Demo \ Images \
Sanal ve Fiziksel İsimler
Yukarıdaki örnekte Gönderen:
Bir web resmin sanal adı olabilir "Images/pic31.jpg" .
Ama fiziksel adıdır "C:\Johnny\Documents\MyWebSites\Demo\Images\pic31.jpg"
URL'ler ve Yollar
URL'ler web'den dosyalara erişmek için kullanılır: http://www.w3ii.com/html/html5_intro.asp
URL, bir sunucu üzerinde fiziksel bir dosyaya karşılık gelir: C: \ MyWebSites \ w3ii \ html \ html5_intro.asp
Bir sanal yol fiziksel yolları temsil etmek steno edilir. Eğer sanal yolları kullanırsanız, farklı bir etki alanına sayfalarınızı taşıyabilirsiniz (or server) yolları güncellemek zorunda kalmadan.
URL | http://www.w3ii.com/html/html5_intro.asp |
Sunucu adı | w3ii |
Sanal yolu | /html/html5_intro.asp |
Fiziksel yolu | C: \ MyWebSites \ w3ii \ html \ html5_intro.asp |
\ Ama bir web sitesinde kök / a disk sürücüsünde kök C gibi yazılır (forward slash) .
Bir web klasörün sanal yoldur (almost) hiçbir zaman fiziksel klasörle aynı.
Kodunuzda sen kodlama ne bağlı olarak fiziksel yolunu ve sanal yolunu hem referans alır.
~ Operatörü, Server.MapPath yöntemi ve href yöntemi: ASP.NET klasör yolları ile çalışmak için 3 araçlara sahiptir.
~ Operatör
programlama kodu sanal kök belirtmek için, ~ operatörü kullanın.
Bunun yerine bir yolun, ~ operatörü kullanıyorsanız, herhangi bir kod değiştirmeden farklı bir klasöre veya konuma web sitenizi taşıyabilirsiniz:
var myImagesFolder = "~/images";
var myStyleSheet = "~/styles/StyleSheet.css";
Server.MapPath Yöntemi
Server.MapPath yöntemi sanal bir yolunu dönüştürür (/default.cshtml) sunucu anlayabileceği bir fiziksel yolu (C:\Johnny\MyWebSited\Demo\default.cshtml) .
Eğer (veri dosyaları yalnızca tam fiziksel yolu ile ulaşılabilir) sunucusunda bulunan veri dosyaları açmak gerektiğinde bu yöntemi kullanacağız:
var pathName = "~/dataFile.txt";
var fileName = Server.MapPath(pathName);
Sen okuma hakkında daha fazla bilgi edineceksiniz (and writing to) Bu yazının sonraki bölümde sunucudaki veri dosyalarını.
href Yöntemi
Href yöntem tarayıcı anlayabileceği bir yola kodunda kullanılan bir yol dönüştürür (the browser cannot understand the ~ operator) .
Sen resim dosyaları ve CSS dosyaları gibi kaynaklara yolları oluşturmak için href yöntemini kullanın.
Sık sık HTML <a>, <img> ve bu yöntemi kullanır <link> elemanlar:
@{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"
/>
Href yöntem WebPage Nesne yöntemidir.