Te sugiero hacer lo siguiente:
Usa el ModalPopupExtender en la misma Fila de donde esta la imagen. algo asi
Código:
<asp:TemplateField>
<ItemTemplate>
<asp:ImageButton ID="btnUpdate" runat="server" ImageUrl="~/images/editar.gif" Width="15px" Height="15px" CommandName="SelectUpdate" />
<asp:ModalPopupExtender ID="PopPupEditProduct" runat="server"
PopupControlID="PanelEditProduct" TargetControlID="HiddenPopPup" BackgroundCssClass="">
</asp:ModalPopupExtender>
</ItemTemplate>
</asp:TemplateField>
Luego Usas en el VB o en el Cs:
En el Evento rowDataBound de la grilla
Código:
Dim iBehavior As AjaxControlToolkit.ModalPopupExtender = e.Row.FindControl("PopPupEditProduct")
iBehavior.BehaviorID = "BHVID_" & e.Row.RowIndex
btnUpdate.OnClientClick = "LlenaValores('" & e.Row.DataItem("forID") & "', '" & e.Row.DataItem("Correlativo").ToString & "', '" & e.Row.DataItem("friID").ToString & "'); return false;"
Y en el Javascrpt usas unos Campos Ocultos y los llenas Asi
Código:
<script>
function LlenaValores(forID, Correlativo, FriID)
{
document.getElementById("<%=hdnForID.clientID %>").value = forID;
document.getElementById("<%=hdnCorrelativo.clientID %>").value = Correlativo;
document.getElementById("<%=hdnFriID.clientID %>").value = FriID ;
}
</script>
Espero te sirva... saludos!!