4

次のようなコードを使用して、テーブルがバインドされた後、テーブルのすべての行を操作しています。

    protected void dtlImages_ItemDataBound(object sender, DataListItemEventArgs e)
    {
        if (e.Item.ItemType == ListItemType.Item)
        {
            LinkButton button = (LinkButton)e.Item.FindControl("lbDeleteImage");
            button.Visible = false;
        }
    }

表の各画像の横に、画像(行)を削除するためのボタンがあります。はうまく機能しているように見えますが、実際に発生するのは、他のすべての行のアイテム(削除ボタン)が非表示になることです。何がそれを引き起こす可能性がありますか?これは、Googleで検索する正しい単語を見つけるのが難しいです。:)

私のテーブルを見ると、説明付きの画像の素敵なリストのように見えます。画像と、画像の横に削除ボタンがある他のすべての行があります。この単純な例(わかりやすくするために条件を省略しました)では、すべて削除する必要があると思います。

助言がありますか?

4

1 に答える 1

6

ListItemType.AlternatingItem次のように、同様にチェックする必要がある可能性が非常に高いと思います。

if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)

特に、1行おきにしかキャッチしていないという事実を考慮してください。

于 2012-04-16T20:13:41.677 に答える