0

divを持つリストビューのあるページがあります。この div は、データベース情報に従って背景色が異なります。

 <asp:ListView ID="lvwPostArt" runat="server" DataSourceID="odsAdvanced" GroupItemCount="3" OnItemDataBound="lvwPostArt_ItemDataBound">
        <EmptyDataTemplate>
            <p>No matches.</p>
        </EmptyDataTemplate>
        <LayoutTemplate>
            <table style="border: none">
                <asp:PlaceHolder ID="groupPlaceholder" runat="server"></asp:PlaceHolder>
            </table>
        </LayoutTemplate>
        <GroupTemplate>
            <tr>
                <asp:PlaceHolder runat="server" ID="itemPlaceholder"></asp:PlaceHolder>
            </tr>
        </GroupTemplate>
        <ItemTemplate>
            <td>
            <!--HEEEEEEEERE'S THE DIV!!! -->
                <div id="divContainer" class="icondetail" runat="server" style='background-color:<%# Eval("colorFondo") %>'><!-- HERE GOES CUSTOM COLOR -->
                        <div class="innerBox">
                            <asp:Image runat="server" ID="img_Post" ImageUrl='<%# Eval("ImageThumbnail") %>' CssClass="StaticImage" />
                        </div>
                </div>
            </td>
        </ItemTemplate>
    </asp:ListView>

ただし、これは色を受け取っていません。objectDataSource には次の DataObjectTypeName があります。

public class myImage
{
    string colorFondo { get; set; }
    string ImageThumbnail { get; set; }
}

これが私がこれまでに試したことです:

#1 を試してください: データバインドを div スタイルに直接設定します。

<div id="divContainer" class="icondetail" runat="server" style='background-color:<%# Eval("colorFondo") %>'>

試行 #2: プロパティ ItemDataBound を使用してコード ビハインドに関する情報を設定する

protected void lvwPostArt_ItemDataBound(object sender, ListViewItemEventArgs e)
    {
        ListViewDataItem dataItem = (ListViewDataItem)e.Item;

        if (e.Item.ItemType == ListViewItemType.DataItem)
        {
            HtmlGenericControl divCont = (HtmlGenericControl)e.Item.FindControl("divContainer");
            divCont.Style.Add("background-color", "#ffffff"); //How can I get the info from the DataClass to assign it to the property????
        }
    }

私の質問は、この div に背景色を割り当てるにはどうすればよいですか?

4

2 に答える 2

0

あなたはもうすぐそこにいます... 2回目の試行では、これを使用してください

divCont.Attributes.Add("style", "background-color:#ffffff");
于 2013-04-09T03:39:37.780 に答える