〜/不是从app root开始

时间:2011-10-03 13:48:12

标签: asp.net

我知道这可能是一个基本问题,但它让我发疯。我有一个asp.net(4.0框架)应用程序,我一直在努力。我在根目录中有一个母版页,在子目录中有一个辅助母版页。辅助母版页继承了网站母版。

问题在于,即使我使用〜/来描述资源的位置(“< img src =”〜/ Images / myImage.jpg“/>),他们也没有加载。
在firebug上使用控制台,我收到此错误:“NetworkError:404 Not Found - http://localhost:4601/Account/~/Images/myImage.jpg

在子文件夹中正确将资源从母版页转换为母版页需要做些什么?我对'〜/'的误解是什么?

2 个答案:

答案 0 :(得分:12)

使用

<img src="~/Images/myImage.jpg" />

将HTML代码与.Net ASP代码混合使用。代字号(〜)不是HTML标记的东西,这就是为什么它不能产生你想要的东西。

要使其正常工作,您需要使用&lt; %%&gt;更改来源标签,可以让你添加ASP代码,在处理时将被翻译成HTML代码。

<img src="<%= Page.ResolveUrl("~/Images/myImage.jpg") %>" />

在ASP.NET标记内部,您应该使用ResolveURL将URL转换为HTML将能够理解的内容。

如果您不想使用此技巧,您还可以使用ASP.NET img标签代替ASP.NET图像控件。这将自动执行ResolveUrl

<asp:Image runat="server" ID="imgHelp"  ImageUrl="~/Images/myImage.jpg" />

答案 1 :(得分:0)

<img src="<%= Page.ResolveUrl("~/Images/myImage.jpg") %>" />

<img src="<%= Control.ResolveUrl("~/Images/myImage.jpg") %>" />