解决网站程序的路径一致问题
Request.ApplicationPath在网站根目录时返回“/”
在虚拟目录时返回“/虚拟目录”。由此带来的程序路径问题多多。
解决办法:
1、<%=((Request.ApplicationPath.Length==1)?"":Request.ApplicationPath)%>
2、在web.config设置公共变量,通过ConfigurationSettings.AppSettings["BaseUrl"]访问变量。
倾向使用后者,应用范围较广,而且还有一定的版权加密意思,呵呵。
Path Type | Value |
Page.Request.ApplicationPath | /Learning_VB |
Page.Request.CurrentExecutionFilePath | /learning_VB/url/subfolder/urltest.aspx |
Page.Request.FilePath | /learning_VB/url/subfolder/urltest.aspx |
Page.Request.Path | /learning_VB/url/subfolder/urltest.aspx |
Page.Request.PhysicalApplicationPath | C:\Inetpub\wwwroot\Learning_VB\ |
Page.Request.PhysicalPath | C:\Inetpub\wwwroot\Learning_VB\url\subfolder\urltest.aspx |
Page.Request.QueryString.ToString() | id=5&name=Tim |
Page.Request.RawUrl | /learning_VB/url/subfolder/urltest.aspx?id=5&name=Tim |
Page.Request.Url.ToString() | http://localhost/learning_VB/url/subfolder/urltest.aspx?id=5&name=Tim |
Page.Request.Url.AbsolutePath | /learning_VB/url/subfolder/urltest.aspx |
Page.Request.Url.AbsoluteUri | http://localhost/learning_VB/url/subfolder/urltest.aspx?id=5&name=Tim |
Page.Request.Url.LocalPath | /learning_VB/url/subfolder/urltest.aspx |
Page.Request.Url.PathAndQuery | /learning_VB/url/subfolder/urltest.aspx?id=5&name=T |