2009-09-28 131 views
0

我有2个问题如何获取服务器的绝对路径

  1. 如何获得绝对URI在asp.net。 例如:输入“〜/文件/”,输出:“www.sampleweb.com/Files/”

  2. 什么是“去根”命令,在URL像 服务器端命令客户端“〜/文件/”

例如:

文件位置

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

到bb.aspx

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

这工作正常。但

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

不工作

+1

我不知道我理解这个问题。你的意思是“你怎么用Javascript做到这一点”? 也许如果你扩大你正在做的事情会有所帮助。 – David 2009-09-28 14:27:17

回答

3

像马克B说,没有明显的语法快捷方式。

如果您正在处理当前请求,那么您可以使用Request.Url或任意文件,如果您使用的是ASP.Net页面,则可以使用Page.ResolveURL("~/some/path")。这些方法会生成绝对的相对URI,即形式为/ path/somefile的那些方法,然后如果使用Mark B的方法获取主机名,则可以将两者连接在一起。 (2)我认为你可能是指绝对的相对URIs。如果相对URI以正斜杠开始,则它被解析为相对于基本域,例如如果你在页面http://yourdomain.com/somedir/somepage.aspx,并且你跟着一个链接是/otherdir/somepage.aspx你最终在http://yourdomain.com/otherdir/somepage.aspx

0

我不认为有捷径语法将物理路径映射到一个虚拟的,包括域名。然而,这将工作:

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

不知道你的意思是第二个问题 - 请你可以扩大?