我有一个用户控件,它有一个图像..当我将它添加到没有母版页的页面时...图像显示正常但是当我将相同的用户控件添加到带有图像的页面时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 **
答案 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 然后单击解决方案而不是属性页面。有一个虚拟页面。改变它像“/".