kykbr
kykbr

Reputation: 316

How to get ItemIndex of RepeaterItem from ImageButton-Click?

i want to convert this vb.net code to c#:

Protected Sub btnDilSil_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs)
    Dim index As Integer = CType(sender.Parent, RepeaterItem).ItemIndex
End Sub

i write code block below instead of the code line above but it gives error "Invalid Cast Exception", please help, thanks in advance

protected void btnDilSil_Click(object sender, System.Web.UI.ImageClickEventArgs e)
{
    int index = ((RepeaterItem)sender).ItemIndex;
}

Upvotes: 2

Views: 1203

Answers (1)

Tim Schmelter
Tim Schmelter

Reputation: 460360

If the image is in the repeater you have to use it's NamingContainer property to get the RepeaterItem, that is at least the most reliable way, so better than Parent.Parent:

protected void btnDilSil_Click(object sender, System.Web.UI.ImageClickEventArgs e)
{
    var img = (Control) sender;
    var item = (RepeaterItem) img.NamingContainer;
    int index = item.ItemIndex;
}

Upvotes: 1

Related Questions