1

このような tr 要素である Repeater アイテムがあります。代替アイテムとしてアイテムインデックスに応じてcssクラスを設定したい。

私のデザインコードはこのようなものです

    <ItemTemplate>
            <tr id='<%# Eval("RegNum").ToString()%>' class='<%# Eval("RowClass").ToString()%>'>

このようにアイテムデータがバインドされていますが、機能していません: (その間違い)

        if (e.Item.ItemType == ListItemType.AlternatingItem)
        {
            DataBinder.Eval("RowClass", "bgBlack");
        }
        else
        {
            DataBinder.Eval("RowClass", "bgWhite");
        }

ここで、bgWhite と bgBlack は css クラスです。

これを達成する方法を私に提案してください。

4

1 に答える 1

3

組み込みの ItemIndex プロパティが 2 で割り切れるかどうかを確認し、それを使用して css クラスを設定します。

class="<%# Container.ItemIndex % 2 == 0 ? "bgWhite" : "bgBlack" %>"

これには、UI コード (ascx または aspx ファイル) に完全に基づいているという利点があり、JavaScript に依存しません。

以下のリンクをご覧ください

本格的な <alternatingitemtemplate/> のない ASP.NET リピーターの交互の行の強調表示

于 2014-05-13T10:16:26.160 に答える