但是两者的返回值,却截然不同
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和ResolveUrl的时候一定要注意两者的区别
在使用相对URL地址时一定要在前面加上(~)或(~/),这样就万无一失了
不过使用这两种方法返回的物理路径(Server.MapPath),都是一样的