Por supuesto:
En el GridView debe existir un ItemTemplate más o menos así:
Código:
<asp:TemplateField HeaderText="Detalle" ItemStyle-Width="70px" HeaderStyle-Width="70px">
<ItemTemplate>
<asp:LinkButton ID="Lnk_Redireccionar" Style="background-color: Transparent; margin-top: -3px;"
CommandName="Detalle" runat="server" CommandArgument='<%#Eval("Id_Detalle") %>'>
<asp:Image ID="Img_Seleccion" runat="server" ImageUrl="~/Images/pencils/iconExams.gif" ToolTip="Ver detalles" />
</asp:LinkButton>
</ItemTemplate>
<HeaderStyle Width="70px" />
<ItemStyle HorizontalAlign="Center" />
</asp:TemplateField>
En el GridView (en el evento RowCommand) debe haber algo así:
Código:
if (e.CommandName == "Detalle")
{
Response.Redirect("~/Procesos/PaginaDetalle.aspx?Id_Det=" + e.CommandArgument.ToString());
}
Hago esto porque me permite validar algunas cosas antes de hacer el response. Si no crees que es necesario, en el ItemTemplate podés usar un simple a href="...".
Donde Id_Det es el nombre del QueryString, mientras que e.CommandArgument contiene el valor de la varible enviada por Get.
En la página que abrirás tenés que hacer referencia al valor así:
Código:
Request.QueryString["Id_Det"]
Cualquier duda nos dices o si encuentras una opción alterna.