J'ai 1 site Web sur IIS ("myWebsite") et un autre à l'intérieur de celui-ci ("secondWebsite") comme une application. Les deux sont des sites Web ASP.NET Mvc.ASP.NET url absolue MVC avec une application dans un site Web
J'ai une méthode qui fonctionne parfaitement sur le premier:
public static string AbsolutePath(this UrlHelper url, string path)
{
Uri requestUrl = url.RequestContext.HttpContext.Request.Url;
string absoluteAction = string.Format("{0}{1}", requestUrl.GetLeftPart(UriPartial.Authority), path);
return absoluteAction;
}
Le résultat est le suivant: http://myWebsite.com/path
J'ai la même méthode dans le second site Web, le résultat est le même, c'est logique mais je ne le veux pas!
Le résultat devrait être: myWebsite.com/secondWebsite/path. (Manque le http: // cause de la prévention du spam ^^).
Existe-t-il un bon moyen de le faire?
Merci.
Je ne savais pas qu'un. Fonctionne pour une vue, mais je veux l'utiliser pour les fichiers CSS:/ <%: ResolveUrl ("Content/styles_1.css")%> donnez-moi Views/Shared/Content/styles_1.css ^^. Et il ne me donne pas l'url absolue:/ – Tom741
Dans une vue, l'utilisation de <% = ResolveUrl ("~/styles/main.css")%> fera référence au dossier des styles dans l'application en question et non à la racine du serveur. Si vous essayez simplement de référencer des fichiers CSS et des fichiers js à partir de votre vue, cela devrait être tout ce que vous devez faire - il a été essayé et testé pour fonctionner avec des sites qui sont soit à la racine du site Web IIS, soit imbriqués dans des applications. répertoires virtuels. Si ce n'est pas ce que vous faites, pouvez-vous donner plus de contexte au problème que vous essayez de résoudre? Merci. –