Infatti non credo sia la strada giusta.
Ora non ho tempo di proseguire, ma fai un ultimo tentativo prima di abbandonare la HLF e passare ad un piu' semplice TemplateField in cui puoi mettere un controllo con un tuo ID.
codice:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
ButtonField Dettaglio = new ButtonField();
Dettaglio.ButtonType = ButtonType.Link;
Dettaglio.HeaderText = "Opzioni";
Dettaglio.DataTextField = "KMovimenti";
Dettaglio.CommandName = "cn_dettaglio";
Gv_ToDoList.Columns.Insert(0, Dettaglio);
}
}
protected void gv_rowcommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "cn_dettaglio")
{
int index = Convert.ToInt32(e.CommandArgument);
GridViewRow row = gv.Rows[index];
LinkButton lb = new LinkButton();
lb = (LinkButton)row.Cells[1].Controls[0];
Response.Redirect("WebForm2.aspx?id=" + lb.Text);
// ...
}
}
..impostando il _rowcommand alla tua grid. (attenzione, il <row.Cells[1]> è per la MIA...)