I'm not sure if I've got your problem in the right way, I think you just need to set an ItemCommand event handler for your listview and then set the CommandName and CommandArgument in your button (or in any other control).
<asp:listview runat="server" xmlns:asp="#unknown">
ID="TheAnimalsListView"
OnItemCommand="TheAnimalsListView_OnItemCommand"
DataKeyNames="TheID">
<layouttemplate>
[...]
</layouttemplate>
<itemtemplate>
<asp:linkbutton runat="server">
ID="SelectAnimalButton"
Text="Show This"
CommandName="ShowThis"
CommandArgument='<%#Eval("AnimalName")%>' />
</asp:linkbutton></itemtemplate>
</asp:listview>
Then, in the codebehind
protected void TheAnimalsListView_OnItemCommand(object sender, ListViewCommandEventArgs e)
{
if (String.Equals(e.CommandName, "ShowThis"))
{
ShowAnimalImage(e.CommandArgument.ToString());
}
}
}