2009-08-17 5 views
0

Quelqu'un peut-il expliquer brièvement comment C# traite les chemins - ou peut-être l'environnement de développement et VWD (qui n'agit pas comme un serveur devrait le faire)? J'ai une page: /content/consumer/MyPage.aspx. Mes images sont toutes en /images.Expliquer les chemins relatifs - VWD vs IIS

Lorsque je mets src="/images/myimage.jpg" ou src="\images\myimage.jpg" pourquoi ne vois-je pas mes images? Si je mets ../../images/myimage.jpg ou ..\..\images\myimage.jpg, je peux le voir ou si je le fais un serveur de contrôle et d'utiliser src="~/images/myimage.jpg ou src="~\images\myimage.jpg (à quel point il le change à la précédente). Qu'est-il arrivé à mon pouvoir de se référer à la racine en commençant mon chemin avec une barre oblique? Suis-je obligé de faire fonctionner tous ces contrôles sur le serveur (ce qui semble être une perte de ressources) ou d'être bloqué avec des chemins déclaratifs et des nids désordonnés de .. (/ |) s?

Répondre

1

Êtes-vous certain que votre chemin est /content/consumer/MyPage.aspx et non quelque chose comme /<projectname>/content/consumer/MyPage.aspx?

Par défaut, Visual Studio/VWD utilisera un chemin de base /<projectname>/; cependant, si vous ne souhaitez pas de chemin de base, vous pouvez ouvrir les propriétés du projet, accédez à l'onglet Web et entrez "/" pour le chemin virtuel .

0

Si vous démarrez votre référence avec un "/", il s'agit du répertoire racine de votre site Web vu par IIS.

Si vous démarrez votre référence avec un "~", c'est relatif à l'application (répertoire virtuel) telle que vue par IIS. Cela peut être différent du "/" si votre site Web est un sous-répertoire d'un autre répertoire virtuel.

Si vous ne commencez pas avec l'un de ceux-ci, il est relatif au répertoire que le fichier se trouve dans.

Questions connexes