0
votes

I am using GridView. I needed to disable click on few itemTemplate. I have a property IsClickable set to false and I want to read this property inside ItemTemplate click event handler.

    void ItemView_ItemClick(object sender, ItemClickEventArgs e)
    {
        var isClickable = e.ClickedItem;
    }

This e.ClickedItem shows as follows when I debug:

Debug inspection of clicked item

See in the image, IsClickable: false. Is there a way to check this property and do return false; inside my click event?

1

1 Answers

2
votes

You must cast the ClickedItem object to its specific type, something like this:

void ItemView_ItemClick(object sender, ItemClickEventArgs e)
{
    var isClickable = ((MyItemType)e).ClickedItem;
    //...
}

Where MyItemType is the type of the clicked control (or a base class / interface of theirs that has an .IsClickable property).

If you set a watch on the e.ClickedItem object, you will see its type in the Watch panel during debugging.

Edit:

You can't quite do return false; in the event handler, since its return type is void.