Page的ResolveClientUrl与ResolveUrl读取路径 .
一、Page对象的ResolveClientUrl与ResolveUrl
Page.ResolveClientUrl():返回相对于当前页面的一个相对地址
Page.ResolveUrl():返回相对于当前应用程序的一个相对地址
但是两个方法的地址通过Server.MapPath()获取的绝对地址是一样的!
例如:
新建一个应用程序,根目录是“D:\MyApplication”,在根目录下新建如下目录、页面以及图片
页面:TestFolder/TestPage.aspx
图片:TestFolder/Images/TestImg.png
在TestPage.aspx页面里分别调用
String url1 = Page.ResolveClientUrl("Images/TestImg.png"); //结果:Images/TestImg.png
String path1 = Server.MapPath(url1); //结果:D:\MyApplication\TestFolder\TestImg.png
String url2 = Page.ResolveUrl("Images/TestImg.png"); //结果:TestFolder/TestImg.png
String path2 = Server.MapPath(url2); //结果:D:\MyApplication\TestFolder\TestImg.png
---------------------------------------------------------------------------
ResolveClientUrl返回相对于当前页面下文件的地址
ResolveUrl则返回页面所在应用程序下的相对地址
例如:
页面:~/Student/main.aspx
图像:~/Images/copy.gif
(这里~表示应用程序根目录)
使用一:
resolveClientUrl=Page.ResolveClientUrl("Images/copy.gif")
resolveUrl=Page.ResolveUrl("Images/copy.gif")
在页面main.aspx里使用copy.gif图像,则使用标题上的两种方法返回的结果如下
ResolveClientUrl:Images/copy.gif
ResolveUrl:/Student/Images/copy.gif
使用二:
resolveClientUrl=Page.ResolveClientUrl("~/Images/copy.gif")
resolveUrl=Page.ResolveUrl("~/Images/copy.gif")
在页面main.aspx里使用copy.gif图像,则使用标题上的两种方法返回的结果如下
ResolveClientUrl:../Images/copy.gif
ResolveUrl:/Images/copy.gif
ResolveClientUrl用途之一:
母版页面中,脚本或样式的路径采用Page.ResolveClientUrl进行获取,这样不同目录下使用了母版页的页面都能自动获取到对应脚本或样式文件的路径了。
使用示例: <script src='<%= Page.ResolveUrl("~/Scripts/My97DatePicker/WdatePicker.js") %>'></script>