Мне кажется, что вы отображаете элементы управления CheckBox / TextBox при первой загрузке страницы. Если это так, вы должны НЕ AutoPostBack. Рассматривайте это как обычную форму, переключитесь на элемент управления ASP Repeater, извлеките отправленные значения из формы на отдельной странице и затем отправьте их в базу данных. Ничто в вашем вопросе не заставляет меня думать, что вам нужно нарушить нормальную модель отправки форм, чтобы учесть то, как пользователи взаимодействуют с этой страницей.
Вы не упомянули об использовании кнопок «Редактировать / Обновить / Отменить», что заставляет меня поверить, что вы не используете встроенные команды GridView. Честно говоря, для меня это звучит так, будто вы пытаетесь сделать эту страницу подходящей для модели уже существующего элемента управления ASP, когда это не так. Если бы я был вами (и имел время), я бы переписал эту страницу, используя элемент управления ASP Repeater, и использовал бы jQuery для отправки страницы через вызов AJAX в ASP.NET WebMethod. В этом предыдущем предложении много жаргона, но, как только вы впервые его выполнили, это упростит процесс написания ваших страниц.
Редактировать: Ваш комментарий говорит, что 30 000 было деловым решением, поэтому я удалил часть своего ответа, указав, что у вас был выбор в этом вопросе. Я чувствую твою боль.