在不使用findcontrol的情况下在转发器中获取div

时间:2018-02-09 15:19:00

标签: html asp.net vb.net repeater background-color

我想更改转发器中包含的div的背景颜色。在下面的代码中是:<div id="<%# Eval("id") %>"> 我的问题是我使用divs id来获取记录的引用(div是这种记录的图形表示),所以我无法改变它,因为它没有被修复控制ID,我不能在后面的代码中使用它和findcontrol来查找div。我怎样才能做到这一点?

起初我想在div的style属性中添加Eval,例如:style='background-color:<%# Eval("Color")%>;'here某人建议工作,但不能为我工作。

颜色在db中保存为包含HEX值的varchar。

<asp:Repeater runat="server" ID="rptDaFare" DataSourceID="SqlAttivitaDaFare">
    <ItemTemplate>
        <div id="<%# Eval("id") %>">
            <div class="div-titolo" title="<%# Eval("Titolo") %>"><%# Eval("Titolo") %></div>
            <div class="div-testo" title="<%# Eval("Note") %>"><%# Eval("Note") %></div>
            <div>
                <table style="width: 100%; margin-top: 0.5em; padding-right: 0.2em;">
                    <tr>
                        <td style="width: 50%; text-align: left;">
                            <asp:ImageButton runat="server" ImageUrl="~/images/gabri.png" Width="2.3em" Height="2.3em" ToolTip='<%#Eval("tecnico")%>' Enabled="false" Visible='<%# IIf(Eval("idutente") = 8, True, False) %>' />
                            <asp:ImageButton runat="server" ImageUrl="~/images/giuse.png" Width="2.3em" Height="2.3em" ToolTip='<%#Eval("tecnico")%>' Enabled="false" Visible='<%# IIf(Eval("idutente") = 2, True, False) %>' />
                            <asp:ImageButton runat="server" ImageUrl="~/images/robi.png" Width="2.3em" Height="2.3em" ToolTip='<%#Eval("tecnico")%>' Enabled="false" Visible='<%# IIf(Eval("idutente") = 5, True, False) %>' />
                        </td>
                        <td style="width: 50%; text-align: right;">
                            <asp:LinkButton CommandName="delAttivita" CommandArgument='<%#Eval("ID")%>' runat="server" ID="lnkDelAtt" CausesValidation="False" OnClientClick="return confirm('Sei sicuro di voler eliminare questa attivita?');"><i class="fa fa-trash fa-lg" title="Elimina attività"></i></asp:LinkButton>
                            <asp:LinkButton CommandName="editAttivita" CommandArgument='<%#Eval("ID")%>' runat="server" ID="lnkEditAtt"><i class="fa fa-pencil-square fa-lg" title="Modifica attività"></i></asp:LinkButton>
                        </td>
                    </tr>
                </table>
            </div>
        </div>
    </ItemTemplate>
</asp:Repeater>

1 个答案:

答案 0 :(得分:1)

如果Color的值是正确的十六进制或颜色的字符串表示,那么它应该有效。但是,您没有正确关闭style属性。

如果Color是字符串表示(红色,绿色,蓝色)

<div style="background-color: <%# Eval("Color") %>;">Lorem Ipsum</div>

如果颜色为HEX而没有#

<div style="background-color: #<%# Eval("Color") %>;">Lorem Ipsum</div>

或使用#

<div style="background-color: <%# Eval("Color") %>;">Lorem Ipsum</div>

如果其中一个不起作用,那么您应该检查Color

的实际值