1. Create hidden field onto your page like following:
<input id="inp_row_index" type="hidden" runat="server" />
2. Then add script block at your aspx page:
function select(rowIndex) {
document.getElementById('<%=inp_row_index.ClientID %>').value = rowIndex;
<%=Page.GetPostBackEventReference(inp_row_index) %>
}
3. In RowCreated event handler add following code snipet:
if (e.Row.RowType == DataControlRowType.DataRow)
{
e.Row.Attributes.Add("onclick", String.Format("select({0});",e.Row.RowIndex));
}
4. At the end add to code-behind:
protected void Page_Load(object sender, EventArgs e)
{
inp_row_index.ServerChange += new EventHandler(inp_row_index_ServerChange);
}
void inp_row_index_ServerChange(object sender, EventArgs e)
{
int index = int.Parse(inp_row_index.Value);
gvTemplates.SelectedIndex = index;
Response.Write("Selected Index:"+index.ToString());
}