Il problema
sto correndo nel tipico dilemma virtual directory in cui si dispone di alcuni percorsi sulla vostra applicazione ASP.Net e si distribuisce l'applicazione in un virtuale IIS directory. Quindi tutti i percorsi relativi alla "web root" (f.i., "/ images") non funzionano perché l'app si trova in un percorso di directory virtuale.directory virtuale di IIS e percorsi di directory ASP.NET
Le soluzioni
A. fare il "immagini" cartella una directory virtuale. In questo modo "/ images" esisterà sempre.
B. Utilizzare "<%=Request.ApplicationPath%>/Imagenes"
come origine delle mie immagini. Funziona perfettamente in IIS ma non riesco a vederlo in fase di progettazione né in fase di debug.
Questa soluzione comprende anche le seguenti istruzioni:
- System.Web.VirtualPathUtility.ToAbsolute
- ResolveClientUrl
- Request.ApplicationPath
C. Utilizzare i parenti percorsi per la corrente controllo/pagina. Questo è sapere esattamente dove la cartella delle immagini è relativa al mio file corrente (senza andare alla radice. Quindi userei cose come "", "../", "../../" e così via.
la soluzione che sto cercando
detto questo. non mi piacciono queste soluzioni. vorrei una soluzione nel file web.config o in IIS. Alcuni intruction conf scrivo nel web file con estensione config che racconta IIS in cui risiede la mia domanda in realtà (directory virtuale).
Qualche consiglio?
in alternativa, per i non-server-side elementi img, è possibile utilizzare il carattere "/" per riferirsi alla radice, come in
. –
@klabranche, la tilde (~) è per i controlli lato server e solo utilizzabile in codice lato server (http://msdn.microsoft.com/en-us/library/ms178116.aspx) @DavidAndres , La barra "/" presuppone che l'app si trovi nella radice del sito Web (non per le directory virtuali). (Http://msdn.microsoft.com/en-us/library/ms178116.aspx) > Un percorso relativo alla radice del sito, che viene risolto contro la radice del sito (non la radice dell'applicazione). –
@dealmo - Ho detto dove puoi .... Capisco che stai cercando un approccio alternativo a quello che hai elencato. Mi stavo solo assicurando di aver fatto almeno quello che puoi dove puoi. :) – klabranche