图像不会显示在用户控件中

时间:2010-10-19 11:49:10

标签: c# asp.net

我有一个用户控件,它有一个图像..当我将它添加到没有母版页的页面时...图像显示正常但是当我将相同的用户控件添加到带有图像的页面时Master Page。图像消失了!....当我检查页面源时,图像的路径就像这样......

style = "background-image: url(http://localhost/web1/img1.jpg);"

图像也存在!不是它被删除或其他..

现在idk在哪里读到这个但是我做了某个地方,当主页面被添加并且用户控制被使用时...... ID被改变了或者什么......不确定..如果那就是......如果地球上有做ID改变了,为什么和什么?我只是想不通可能出了什么问题。我该如何测试?

[编辑] 我再次仔细检查了页面源,并猜测一些div标签ID已经改变了! ..我得到了这个div的ID是“div1”..这个div内部是我的精灵图像..现在这个“div1”被改为....“ctl00_ContentPlaceHolder2_ctl00_Banner_ctl00_ContentPlaceHolder2_ctl00_Banner_div1”...横幅是UserControl类型的变量在我的测试页面中声明(我在后面的代码中添加了UserControl)...更多Div的ID正在以类似的方式进行更改...现在我该如何处理这些更改的ID? ... plz help..thnx **

2 个答案:

答案 0 :(得分:1)

此答案来自Image from usercontrol won't display on webform

  

因为你发现id改变了   造成这个问题的原因是唯一的   解决方案是使用类来设置样式   你的HTML标记:

     

HTML

//some people don't know this but you can also put the style directly
into the asp.net control event if
visual studio doesn't support it in
the intellisense
<asp:Label id="label1" CssClass="test" style="color:blue;"
runat="server" />
     

CSS

.test { color:red; }
     

如果你还想使用id来   设置您的代码,然后您也可以   把长期生成的id放入你的   css代码或升级到asp.net 4   控制你的asp.net id,   例如:

<asp:Label id="label1" ClientIDMode="Static" runat="server"
     

/&GT;

     

有第三方解决方案   你对asp.net的id的控制   3.5及以下,但它们不是开箱即用,需要一些摆弄。

答案 1 :(得分:0)

就这样使用。 /web1/img1.jpg 然后单击解决方案而不是属性页面。有一个虚拟页面。改变它像“/".