2009-09-28 8 views
0

J'ai 2 questioncomment obtenir le serveur chemin absolu

  1. Comment obtenir absolue Uri en asp.net. Par exemple: Entrée: « ~/fichiers/», sortie: « www.sampleweb.com/Files/ »

  2. Quelle est la commande « aller à la racine » dans l'URL du côté client comme commande côté serveur "~/Files /"

Par exemple:

emplacement du fichier

myAspProjectName/Files/aa.jpg 
myAspProjectName/User/bb.aspx 

dans le bb.aspx

<asp:image ImageUrl="~/Files/aa.jpg" id="img1" runat="server"/> 

ce travail bien. Mais

<img src="~/Files/aa.jpg" alt=""/> 

-ce que je ne pense pas fonctionne pas

+1

Je ne suis pas sûr de comprendre la question. Voulez-vous dire "comment faites-vous cela en Javascript"? Peut-être que si vous développiez ce que vous êtes en train de faire, cela aiderait. – David

Répondre

3

Comme Mark B dit il n'y a pas de raccourci syntaxique évident pour cela.

Si vous le faites avec la demande actuelle, vous pouvez simplement utiliser Request.Url ou pour un fichier arbitraire, vous pouvez utiliser Page.ResolveURL("~/some/path") si vous utilisez une page ASP.Net. Ce sont des méthodes qui génèreront des URI relatifs absolus, c'est-à-dire ceux de la forme/path/unfichier, puis si vous obtenez le nom d'hôte en utilisant l'approche de Mark B, vous pouvez concaténer les deux choses ensemble. En ce qui concerne (2), je pense que vous voulez dire des URI relatives absolues. Si un URI relatif commence par une barre oblique, il est résolu comme étant relatif au domaine de base, par ex. Si vous étiez sur la page http://yourdomain.com/somedir/somepage.aspx et vous avez suivi un lien qui était /otherdir/somepage.aspx vous finirez à http://yourdomain.com/otherdir/somepage.aspx

0

il y a une syntaxe raccourci pour mapper un chemin d'accès physique à un virtuel dont le nom de domaine. Cependant, cela fonctionnera:

string absoluteUri = Request.ServerVariables["SERVER_NAME"] + Request.ServerVariables["URL"]; 

Vous ne savez pas ce que vous voulez dire par la deuxième question - s'il vous plaît pouvez-vous développer?

Questions connexes