2011-10-03 76 views
3

我知道这可能是一个基本问题,但它让我发疯。我有一个我一直在研究的asp.net(4.0框架)应用程序。我在根目录中有一个masterpage,在子目录中有一个辅助masterpage。辅助主页面继承站点主控。〜/不是从应用程序根目录开始

的问题是,即使我用〜/来形容他们不加载资源(/>” < IMG SRC =‘〜/图片/ myImage.jpg’这个参数)的位置。
使用上的控制台萤火虫,我得到这个错误:“网络错误:404没有找到 - http://localhost:4601/Account/~/Images/myImage.jpg

我需要做什么才能正确地翻译资源从母版页到母板页跨子文件夹?这是什么,我误解了'〜/' ?

+0

如果我记得正确〜只适用于服务器控件。您不能将其用于静态html。 –

回答

12

使用

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

是混合HTML代码与.net ASP代码。代字号(〜)不是HTML标记的内容,这就是为什么它不能产生你想要的。

要使其发挥作用,您需要使用< %%>标记更改源代码,以便您添加可在处理时转换为HTML代码的ASP代码。

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

里面ASP.NET代码,则应使用ResolveURL,将改变的URL到的东西,在HTML就能明白。

如果你不想使用这个技巧,你也可以用ASP.NET图片控件的HTML img标签代替。这将自动执行ResolveUrl

<asp:Image runat="server" ID="imgHelp" ImageUrl="~/Images/myImage.jpg" /> 
0
<img src="<%= Page.ResolveUrl("~/Images/myImage.jpg") %>" /> 

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