2011-03-17 73 views
2

我的项目是这样布置的,即.sln和一堆文件夹下面 - 所有这些文件夹中都有一个类库项目。此外,在该文件夹列表中,是包含网站(称为网站)的文件夹。asp.net调试问题 - 网站路径

在网站中,我有用于图像,母版页等的各种文件夹。

在母版页中,我加载了一个图像并参考它:src =“/ images/logo_blue.jpg”,因为这是图片的位置。

但是,当我在调试器中运行代码时,母版页不会拾取任何css,js文件或图像 - 我觉得这是因为IE中的网站路径是给定的如:

http://localhost:61249/Website/Default.aspx

,如果我在x右键点击其中的形象应该是,它是在寻找 http://localhost:61249/images/logo_blue.jpg“但它似乎像在 http://localhost:61249/website/images/logo_blue.jpg找到”

为什么调试器插入虚假的“websit” e“进入路径?为什么不是网站文件夹的实际网站的根目录 - 它看起来像webste的根目录实际上是解决方案文件夹。

我想,我只是做一些很明显的....

回答

2

检查你的web项目的属性页的网页标签。应该有一个虚拟路径的设置 - 你想这只是“/”。

+0

很多很多谢谢! – Manicguitarist 2011-03-17 21:10:20

0

您也可能最终不得不在路径前添加一个'〜',src =“〜/ images/logo_blue.jpg”。这告诉页面寻找相对于站点根的这条路径。母版页面在由不同文件夹中的子页面使用时丢失其引用会有点臭名昭着。

根据引用的位置,您可能还需要将URL包装到ResolveClientUrl调用中。 在语法中后面的代码将是:

src=Page.ResolveClientUrl("~/images/logo_blue.jpg") 

如果您使用的是标准的HTML图像标记它应该是这样的:

<img src='<%= Page.ResolveClientUrl("~/images/logo_blue.jpg") %>' /> 

或者,如果您使用的是ASP图像控制您的标记将是:

<asp:Image ID="Image1" runat="server" ImageUrl='<%# Page.ResolveClientUrl("~/images/logo_blue.jpg") %>' /> 

但在这种情况下,你还必须在某个时候调用控件的数据绑定方法,这样的URL得到解决。