Peut-être que ce n'est pas le meilleur moyen, mais il fonctionne.
// Here is your path
String p = photosLocation + "whatever.jpg";
// Here is the page address
String pa = Page.Request.Url.AbsoluteUri;
// Take the page name
String pn = Page.Request.Url.LocalPath;
// Here is the server address
String sa = pa.Replace(pn, "");
// Take the physical location of the page
String pl = Page.Request.PhysicalPath;
// Replace the backslash with slash in your path
pl = pl.Replace("\\", "/");
p = p.Replace("\\", "/");
// Root path
String rp = pl.Replace(pn, "");
// Take out same path
String final = p.Replace(rp, "");
// So your picture's address is
String path = sa + final;
Edit: Ok, quelqu'un marqué comme non utile. Quelques explications: prendre le chemin physique de la page en cours, de le diviser en deux parties: le serveur et le répertoire (comme c:\inetpub\whatever.com\whatever) et le nom de la page (comme /que ce soit.aspx). L'image du chemin d'accès physique doit contenir le chemin d'accès du serveur, afin de "soustraire", laissant seulement l'image du chemin d'accès relatif au serveur (comme: \design\picture.jpg). Remplacer les barres obliques inverses avec des barres obliques et les ajouter à l'url du serveur.