Как удалить строку из gridview по событию команды row?

Я пытаюсь удалить строку из gridview, нажав ImageButton, который находится внутри gridview. Я получаю индекс строки, но не знаю, как удалить. Мой gridview связывается с сеансом, и я не хочу перепривязывать gridview.

Вот мой код:

protected void GVDetail_RowCommand(object sender, GridViewCommandEventArgs e)
  {
    if (e.CommandName.Equals("Remove"))
    {
      List<Class1> list = (List<Class1>)Session["value1"];
      int index = Convert.ToInt32(e.CommandArgument);
      GridViewRow gridRow = gvDetail.Rows[index];// (GridViewRow)(((ImageButton)e.CommandSource).NamingContainer);

      ((List<Class1>)Session["value1"]).RemoveAt(index);
    }
  }

Если у кого-нибудь есть идеи по этому поводу, пожалуйста, помогите мне ..

Ответы на вопрос(2)

Ваш ответ на вопрос