ResolveUrl 与 ResolveClientUrl 的区别

作者:vkvi 来源:ITPOW(原创) 日期:2009-12-25

这两个方法均是用来解析路径,以便于在不同目录间引用正确的文件。

假设

  • 根目录下有目录 cftea,将此目录设置成了应用程序根目录;
  • 目录 cftea 下有目录 admin;
  • 目录 admin 下有文件 default.aspx;

若 default.aspx 文件内容是:

Response.Write(ResolveUrl("common.js") + "<br>");
Response.Write(ResolveClientUrl("common.js"));

则结果为:

/cftea/admin/common.js
common.js

若 default.aspx 文件内容是:

Response.Write(ResolveUrl("~/common.js") + "<br>");
Response.Write(ResolveClientUrl("~/common.js"));

则结果为:

/cftea/common.js
../common.js

若 default.aspx 文件内容是:

Response.Write(ResolveUrl("/common.js") + "<br>");
Response.Write(ResolveClientUrl("/common.js"));

则结果为:

/common.js
/common.js

结论

ResolveUrl 是从根目录出发来表示的;ResolveClientUrl 更多的是相对于当前目录。

相关文章