首先发布在这里。我试图在asp:repeater中设置DIV的背景图像。图像需要随每个重复的DIV项目而改变,因此我需要从数据库中返回图像URL。
我可以通过将URL硬编码到DIV中,每次都将它设置为同一图像:
<asp:Repeater ID="repList" runat="server" OnItemDataBound="repList_ItemDataBound">
<ItemTemplate>
<div id="bGContainer" runat="server" class="formLayout" style=" background-position:Left; width:980; background-image: url(images/image1.jpg);">
<div class="innerDiv">
<asp:Image ID="imgImage1" runat="server" />
</div>
</div>
但是,我在后面的代码中尝试做的是将每个bGContainer的背景设置为数据集中的图像。
这是我后面的代码,它将值设置为内部DIV中出现的ASP:图像:
protected void repList_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (e.Item.DataItem != null)
{
OnlineList currentOnlineList = (OnlineList)e.Item.DataItem;
imgImage1.ImageUrl = currentOnlineList.imageUrl;
}
}
所以我要做的就是以某种方式调用bgContainer DIV并将backgroundimage设置为我在列表中返回的值中的值。
有什么想法吗?
提前致谢!
答案 0 :(得分:0)
你无法直接访问imgImage1。你必须找到这样的控件。
System.Web.UI.WebControls.Image img=(System.Web.UI.WebControls.Image)e.Item.FindControl("imgImage1");
img.ImageUrl= currentOnlineList.imageUrl;