En asp.net muchas veces he escuchado la tipica pregunta de como tomar todos los elementos seleccionados en un gridview, aqui un ejemplo:

var checkedIDs = from GridViewRow msgRow in GridView1.Rows
                  where ((CheckBox)msgRow.FindControl("chk")).Checked
          select Int32.Parse(GridView1.DataKeys[msgRow.RowIndex].Value.ToString());