代码之家  ›  专栏  ›  技术社区  ›  Gabriele Cozzolino

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

  •  0
  • Gabriele Cozzolino  · 技术社区  · 6 年前

    我想更改中继器中包含的div的背景色。下面的代码如下所示: <div id="<%# Eval("id") %>"> 我的问题是,我使用divs id来获取记录的引用(div是此类记录的图形表示),因此我无法更改它,而且由于它不是固定的控件id,我无法在代码隐藏中与findcontrol一起使用它来查找div。我怎样才能做到这一点?

    首先,我想在div的style属性中添加Eval,如: style='background-color:<%# Eval("Color")%>;' 那个 here 有人建议我工作,但不要为我工作。

    颜色作为包含十六进制值的varchar保存在db上。

    <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 回复  |  直到 6 年前
        1
  •  1
  •   VDWWD    6 年前

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

    如果颜色是字符串表示(红色、绿色、蓝色)

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

    如果颜色为十六进制,没有 #

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

    或使用 #

    <div style=“背景色:<%#Eval(“颜色”)%>”&燃气轮机;Lorem Ipsum</div>
    

    如果其中一个不起作用,则应检查 颜色