Résoudre chemin d'accès virtuel en MVC
Salut,
J'ai eu une adresse comme ceci : ~/Content/Files/AdImages/20/20_thumb.jpeg, j'ai besoin de cela pour être résolu. Cela a été fait dans ASP.net avec le Contrôle.ResolveUrl().
Selon cet article http://stephenwalther.com/blog/archive/2009/02/18/asp.net-mvc-tip-47-ndash-using-resolveurl-in-an-html.aspx, je dois utiliser quelque chose comme ceci :
urlHelper.Contenu("~/Content/Files/AdImages/20/20_thumb.jpeg")
Cela retourne l'url suivante : /Content/Files/AdImages/20/20_thumb.jpeg même quand je ne suis pas dans la racine de la solution(le Contenu est placé dans la racine)?
Comment puis-je résoudre ce problème?
noter que c'est à partir de l'intérieur d'un helper html extension.
//SnowJim
Vous devez vous connecter pour publier un commentaire.
Le travail de l' ~ est de toujours résoudre à la racine, de sorte que vous voyez le comportement correct. Si vous voulez que ce soit par rapport à la voie où vous êtes, alors votre chemin d'accès ne doit pas commencer par un ~ ou /
Ouais, ~ ne fonctionne pas de la même dans asp.net comme dans mvc. Au lieu de cela, la meilleure option semble remplacer le ~ avec:
Request.Url.GetLeftPart(UriPartial.Authority)
Ainsi, au lieu de:
utilisation
urlHelper.content
? Pourquoi ne pas simplementRequest.Url.GetLeftPart(UriPartial.Authority) + "/Content/Files/AdImages/20/20_thumb.jpeg"
?