Pourquoi devrais-je utiliser @Url.Contenu(“~/bla-bla-bla”)?
Je ne peux pas comprendre l'avantage(s) que je peux obtenir à partir Url.Contenu()
méthode ASP.NET MVC. Par exemple, vous voyez src='@Url.Content("~/Contents/Scripts/jQuery.js")'
. Pourquoi devrais-je l'utiliser? Quelles sont les raisons qui peuvent exister pour les utiliser? Quels sont les avantages, les avantages, etc. à l'aide de la plaine de vieux de simples références comme src='/scripts/jquery.js
?
Mise à jour: sur la Base des réponses, je voudrais savoir si il y a une autre raison pour qu'il l'aide, d'autres que sur le traitement des dossiers virtuels? Parce que je n'ai pas vu à l'aide des applications virtuelles que beaucoup (ce qui bien sûr ne veut pas dire qu'il n'a pas été utilisée que beaucoup).
- Vous n'avez jamais eu de multiples applications existantes sous un seul et unique site internet
- Eh bien, c'est que la seule raison pour laquelle ils utilisent
@Url.Content
? Si oui, pouvons-nous simplement cesser de l'utiliser sur une application par site, des solutions? - Désolé pour le retard de réponse - c'est toujours mieux de l'inclure. Vous ne savez jamais comment la structure du site peut changer dans le futur. Techniquement, même si, il ne se serait jamais changer son emplacement et son une application par site, sans répertoires virtuels en dessous, etc, alors assurez-vous que vous pouvez simplement utiliser src='/scripts/whatever.js'
Vous devez vous connecter pour publier un commentaire.
Cartographie des chemins virtuels est son seul but.
Si vous n'avez pas toujours besoin de la carte et vous êtes sûr de votre application ou dossiers ne pourront pas s'asseoir sous d'autres apps, puis de ne pas vous servir n'importe quel but.
De la docs remarque si vous n'utilisez pas ~ vous n'obtenez pas de changement dans le résultat, de toute façon:
"Remarques
Si le contenu spécifié le chemin ne commence pas par le caractère tilde ( ~ ), cette méthode retourne contentPath inchangé.
"
Habituellement, votre application web est publié en tant que: http://www.yoursite.com/. Le caractère ~ correspond à la racine du site /.
Toutefois, si vous publiez votre site dans un répertoire virtuel http://www.yoursite.com/mywebapp/, le caractère ~ pourrait correspondre à "/mywebapp/".
Codage en dur des Urls avec le caractère "/" serait la cause de mauvaises références de page.
Il est utile si vos applications chemin de la racine n'est pas le chemin de la racine de votre serveur. Url.Contenu("~/") renvoie le dossier racine de votre application.
~
montre pas le contenu de l'image lorsque vous passez la souris sur le lien dans visual studio. Dit ne pouvais pas le localiser [chemin d'accès].