在中继器中设置Div的背景?

时间:2015-11-08 11:46:53

标签: c# html asp.net background repeater

首先发布在这里。我试图在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设置为我在列表中返回的值中的值。

有什么想法吗?

提前致谢!

1 个答案:

答案 0 :(得分:0)

你无法直接访问imgImage1。你必须找到这样的控件。

  System.Web.UI.WebControls.Image img=(System.Web.UI.WebControls.Image)e.Item.FindControl("imgImage1");
    img.ImageUrl= currentOnlineList.imageUrl;