7

Statik ve dinamik dosyalarda göreli ve mutlak URL adresinin nasıl kullanılacağını tam olarak anlamak istiyorum.Web sitesinin kökünün temel URL'si (mutlak/göreli url)

~ : 
/: 
.. : in a relative URL indicates the parent directory 
. : refers to the current directory 
/: always replaces the entire pathname of the base URL 
// : always replaces everything from the hostname onwards 

Bu örnek, sanal dizin olmadan çalışırken kolaydır. Ama sanal dizinde çalışıyorum.

Relative URI   Absolute URI 
about.html   http://WebReference.com/html/about.html 
tutorial1/   http://WebReference.com/html/tutorial1/ 
tutorial1/2.html  http://WebReference.com/html/tutorial1/2.html 
/     http://WebReference.com/ 
//www.internet.com/ http://www.internet.com/ 
/experts/    http://WebReference.com/experts/ 
../     http://WebReference.com/ 
../experts/   http://WebReference.com/experts/ 
../../../    http://WebReference.com/ 
./     http://WebReference.com/html/ 
./about.html   http://WebReference.com/html/about.html 

Sanal dizin üzerinde çalışmakta olan projemde olduğu gibi, aşağıdaki siteyi simüle etmek istiyorum.

Bunlar benim aspx ve .Ascx klasörü vardır

http://hostAddress:port/virtualDirectory/MainSite/ASPX/default.aspx 
http://hostAddress:port/virtualDirectory/MainSite/ASCX/UserCtrl/login.ascx 

http://hostAddress:port/virtualDirectory/AdminSite/ASPX/ASCX/default.aspx 

Bunlar benim JS Dosyalar (aspx ve ascx dosyaları ile hem kullanıma tabi) şunlardır: Bu benim statik web sayfası

http://hostAddress:port/virtualDirectory/MainSite/JavascriptFolder/jsFile.js 
http://hostAddress:port/virtualDirectory/AdminSite/JavascriptFolder/jsFile.js 

olduğunu

adres (bazı resimleri göstermek ve bazı js işlevlerinin içinde çalışmak istiyorum):

http://hostAddress:port/virtualDirectory/HTMLFiles/page.html 

Bu benim resim ekranım er

http://hostAddress:port/virtualDirectory/Images/PNG/arrow.png 
http://hostAddress:port/virtualDirectory/Images/GIF/arrow.png 

i yazmaya ve benim ASPX dosyası görüntü dosyanın bağ ı

aspxImgCtrl.ImageUrl = Server.MapPath("~")+"/Images/GIF/arrow.png"; 

yazmak Fakat gerektiğini istiyorsanız ben yolunu sert kodlu veya javascript dosyadan, yazmak isterseniz url ne tür Adres olmalı?

cevap

7

~ işleci, asp.net tarafından yalnızca sunucu denetimleri ve sunucu kodu için tanınır. İstemci öğeleri için ~ operatörünü kullanamazsınız. Mutlak yollar •

uygulamalar arasında taşınabilir değildir: Bir sunucu denetimi

Mutlak ve bağıl yolunun işaret aşağıdaki dezavantajlara sahiptir. Uygulamayı mutlak yolun işaret ettiği yere taşırsanız, bağlantılar kopar.

• Kaynakları veya sayfaları farklı klasörlere taşırsanız, istemci öğeleri stilindeki göreceli yollar korumak zor olabilir. Bu dezavantajların üstesinden gelmek için ASP.NET, sunucu denetimlerinde bir yol belirlerken kullanabileceğiniz Web uygulama kök operatörünü (~) içerir. ASP.NET, ~ operatörünü geçerli uygulamanın köküne çözer. Geçerli kökü temel alan bir yol belirtmek için ~ operatörünü klasörler ile birlikte kullanabilirsiniz. \ Inetpub \ wwwroot \ mysite görüntüleri \ \ gif \ arrow.png" anlamına: c -

Örneğin olarak yukarıdaki kod (örneğin sunucu fiziksel yolunu verecek

aspxImgCtrl.ImageUrl = Server.MapPath("~")+"/Images/GIF/arrow.png"; 

yayınlanmıştır

aspxImgCtrl.ImageUrl = "~/Images/GIF/arrow.png"; 

bir bir düzey folde düşünebilirsiniz javascript gelen kaynak başvurmak için:

doğru istemci göreli yolu için bu kullanmalısınız, istemci tarafında daha az erişim yollarını birleştirmek için rs yapısı.Örneğin: daha fazla detay ziyaret için

  • Sayfalar
  • JS
  • Pix
  • vb
  • ...

asp.net web site paths

İlgili konular