这两个方法均是用来解析路径,以便于在不同目录间引用正确的文件。
假设
- 根目录下有目录 cftea,将此目录设置成了应用程序根目录;
- 目录 cftea 下有目录 admin;
- 目录 admin 下有文件 default.aspx;
若 default.aspx 文件内容是:
Response.Write(ResolveUrl("common.js") + "<br>");
Response.Write(ResolveClientUrl("common.js"));
Response.Write(ResolveClientUrl("common.js"));
则结果为:
/cftea/admin/common.js
common.js
common.js
若 default.aspx 文件内容是:
Response.Write(ResolveUrl("~/common.js") + "<br>");
Response.Write(ResolveClientUrl("~/common.js"));
Response.Write(ResolveClientUrl("~/common.js"));
则结果为:
/cftea/common.js
../common.js
../common.js
若 default.aspx 文件内容是:
Response.Write(ResolveUrl("/common.js") + "<br>");
Response.Write(ResolveClientUrl("/common.js"));
Response.Write(ResolveClientUrl("/common.js"));
则结果为:
/common.js
/common.js
/common.js
结论
ResolveUrl 是从根目录出发来表示的;ResolveClientUrl 更多的是相对于当前目录。