在javascript中传递波浪路径以获取相对路径的正确方法是什么?

时间:2011-09-14 01:37:06

标签: c# javascript jquery asp.net

我有一个波浪路径。我想将其转换为客户端URL

    var path = "~/Presentation/Resources/Images/masterPage/cleanup.png";
    var a =  '<%=Page.ResolveClientUrl(" '+path+' ") %>';

    var b = '<%=ResolveUrl("~/Presentation/Resources/Images/masterPage/cleanup.png") %>';

alert("var a-->"+a);
alert("var b-->"+b);

虽然上面的代码看起来是一样的,但我得到的var a和var b的结果却非常不同。

结果

var a --> ~/Presentation/Resources/Images/masterPage/cleanup.png
var b --> ../../Resources/Images/masterPage/cleanup.png

我有一个存储路径的变量,但是我没能得到与var b完全相同的结果。 我可以为 var a 做些什么,这样我才能得到像 var b 这样的结果?

1 个答案:

答案 0 :(得分:1)

您正在调用的方法ResolveClientUrl和ResolveUrl是不同的。 ResolveClientUrl告诉您相对于您所在页面的URL; ResolveUrl告诉您相对于站点根目录的URL。您可以在http://www.andornot.com/blog/post/ResolveUrl-vs-ResolveClientUrl.aspx

找到更全面的说明

此另一个SO question还有更多信息。