Все, что вы пытаетесь поместить в viewstate, должно быть украшено атрибутом [Serializable], но, поскольку у вас есть анонимный тип, вы не можете это сделать.
Но кроме этого, неделать то, что вы пытаетесь сделать, это значительно увеличит размер вашей страницы и излишне.Во всяком случае, поместите ваш источник данных в Session и перепривязайте его при обратной передаче, но не помещайте его в viewstate.
Обратите внимание, однако, что помещение огромного количества данных в сессию не масштабируется или также не является хорошей практикойвы должны основывать свое решение в зависимости от размера ваших данных и от того, сколько времени потребуется для получения данных из внутреннего хранилища.Вы измерили, как дорого обходятся данные, можете ли вы использовать, например, Cache вместо Session?