Domanda

Voglio capire completamente come utilizzare assoluto e relativo indirizzo url nel i file statici e dinamici.

~  : 
/  :
.. : 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

Questo esempio è facile quando si lavora senza la directory virtuale.Ma sto lavorando su directory virtuale.

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

Voglio simulare un sito al di sotto, come il mio progetto che sta lavorando sulla directory virtuale.

Questi sono i miei aspx e ascx cartella

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

Questi sono i miei File JS(che sarà utilizzato sia con il aspx e file ascx):

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

questa è la mia pagina web statica indirizzo(voglio mostrare alcune immagini ed eseguire all'interno di alcune funzioni js):

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

questa è la mia cartella di immagini

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

se voglio scrivere il file di immagine del link nel mio file ASPX dovrei scrivere

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

Ma se voglio scrivere il percorso sono codificati o da file javascript, che tipo di indirizzo url dovrebbe essere?

È stato utile?

Soluzione

L' ~ operatore è riconosciuto da asp.net solo per i controlli server e il server di codice.Non è possibile utilizzare il ~ operatore per cliente elementi.

Assoluto e relativo percorso fa riferimento a un server di controllo sono i seguenti svantaggi:

•I percorsi assoluti non sono portabili tra le applicazioni.Se si sposta l'applicazione che il percorso assoluto di punti, i collegamenti pausa.

•I percorsi relativi in stile client elementi può essere difficile da mantenere se si spostano le risorse o le pagine in cartelle diverse.

Per superare questi inconvenienti, ASP.NET include l'applicazione Web principale operatore (~), che è possibile utilizzare quando si specifica un percorso di controlli server.ASP.NET risolve i ~ operatore alla radice dell'applicazione corrente.È possibile utilizzare i ~ operator in collaborazione con le cartelle di specificare un percorso che si basa sulla corrente principale.

Come per l'esempio che hai postato

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

il codice di cui sopra renderà il server di percorso fisico (per esempio - c:\inetpub\wwwroot\mysite\images\gif\arrow.png" che significa meno sul lato client,

si consiglia di utilizzare questo per il client corretto percorso relativo:

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

Per fare riferimento a risorse da javascript si può prendere in considerazione un un livello di struttura di cartelle di unificare i percorsi di accesso.per esempio:

  • Pagine
  • JS
  • Pix
  • ecc...

Per maggiori dettagli visita asp.net sito web percorsi

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top