¿Cómo implementar la selección de fila completa en GridView sin el botón de selección?

Estoy implementando una función que cuando el usuario presiona cualquier punto de la fila en un GridView, la fila se seleccionará en lugar del botón Seleccionar.

Para implementar eso, estoy usando el siguiente código:

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
    if (e.Row.RowType == DataControlRowType.DataRow)
    {
        // Set the hand mouse cursor for the selected row.
        e.Row.Attributes.Add("OnMouseOver", "this.style.cursor = 'hand';");

        // The seelctButton exists for ensuring the selection functionality
        // and bind it with the appropriate event hanlder.
        LinkButton selectButton = new LinkButton()
        {
            CommandName = "Select",
            Text = e.Row.Cells[0].Text
        };

        e.Row.Cells[0].Controls.Add(selectButton);
        e.Row.Attributes["OnClick"] =
             Page.ClientScript.GetPostBackClientHyperlink(selectButton, "");
    }
}

Con el código anterior, existen los siguientes problemas:

Esto funciona bien solo si yoEnableEventValidation para la página se establece enfalse.LosSelectedIndexChanged solo se dispara en caso de queGrid.DataBind() se llama enPage_Load para la página (en cada devolución de datos).

¿Estoy haciendo algo mal? ¿Existe una mejor implementación?

Editar CuandoEnableEventValidation se establece entrue, aparecerá el siguiente error:

Postback inválido o argumento de devolución de llamada. La validación de eventos se habilita mediante la configuración o <% @ Page EnableEventValidation = "true"%> en una página. Por motivos de seguridad, esta función verifica que los argumentos para la devolución de datos o los eventos de devolución de llamada se originan en el control del servidor que los generó originalmente. Si los datos son válidos y esperados, use el método ClientScriptManager.RegisterForEventValidation para registrar los datos de devolución o devolución de llamada para la validación.

Respuestas a la pregunta(5)

Su respuesta a la pregunta