Вы заявляете, что используете viewstate для хранения текущего номера страницы, и, по-моему, вы явно сохраняете этот номер в viewstate.
Однако asp.net по умолчанию будет хранить lot данных в viewstate. В вашем примере, имея 3 элемента управления с включенной подкачкой страниц, asp.net будет хранить «все данные в элементе управления», т.е. все данные, которые в данный момент отображаются в 3 элементах управления, будут сохранены в viewstate.
Решением этой проблемы может быть явное отключение состояния просмотра на трех постраничных элементах управления, к сожалению, это означает, что вам придется перепривязывать элементы управления для каждой загрузки страницы, что может или не может быть вариантом для вас.
Если вам просто нужно сохранить номер страницы, вы можете, например, перевести его в состояние управления, как описано в msdn и в pluralsight .
Используйте строку запроса, как предложено в другом ответе.
Или вы можете просто продолжать использовать viewstate, а затем отключить viewstate для всей страницы или только для paged-элементов управления, в зависимости от того, что вам подходит.
Я бы действительно предложил прочитать Истинное понимание Viewstate Мруналом Брамбхаттом для более подробного объяснения состояния зрения.