This is what my aspx page looks like:

```
<asp:TemplateField HeaderText="Detail" HeaderStyle-ForeColor="DimGray" >
  <ItemTemplate>
    <asp:Label ID="labeldetail" runat="server" Text='Label' ></asp:Label>
  </ItemTemplate>
</asp:TemplateField>

```

In aspx.cs, adding values to grid:

```
 public void Addtogrid()
 {
    string ctrlStr = String.Empty;

    foreach (string ctl in Page.Request.Form)
    {  
       if (ctl.Contains("Longitude"))
       {
          ctrlStr = ctl.ToString();
          Disctrict.School[0].Student[j].Activity[k].Sport = Request.Form[ctrlStr];
       }
    }
 }

 protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
 {
   if (e.Row.RowType == DataControlRowType.DataRow)
   {
     Label lbl7 = (Label)e.Row.FindControl("labeldetail");
     if (lbl7 != null)
     {
       lbl7.Text =  Disctrict.School[0].Student[j].Activity[[e.Row.RowIndex].Sport ;
     }
   }
 }

 protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
 {
    foreach (Control ctrl in ControlsPanel.Controls)
    {
      if (ctrl.ClientID.Contains("Sport"))
      {
        ((TextBox)ctrl).Text = Disctrict.School[0].Student[0].Activity[x].Sport // <--- Getting error here....
      }
    }
 }

```

I don't understand what am I missing. There are 16 other items that I have in the same `GridView` and everything works just perfectly fine.