Использование SavePageStateToPersistenceMedium () для главной страницы ASP.NET

См. Тему http://www.codeproject.com/KB/viewstate/SaveViewState.aspx. В этом разделе показано, как можно сохранить ViewState в файловой системе через сервер, чтобы сделать ViewState очень маленьким при обходах. Автор создал класс BasePage, унаследовав System.Web.UI.Page, и все страницы являются производными от этого класса.

Сайт, который я разрабатываю, использует главную страницу, и все страницы взяты из этой главной страницы. Когда я пытаюсь переопределить SavePageStateToPersistenceMedium(), генерируется ошибка компиляции, указывающая на отсутствие такого метода для переопределения в System.Web.UI.MasterPage.

Как я мог решить эту проблему?


person IrfanRaza    schedule 30.10.2009    source источник


Ответы (2)


Я нашел решение. На самом деле страница aspx является производной от System.Web.UI.Page, а главная страница - от класса Control. Там метод SavePageStateToPersistenceMedium () доступен только на странице aspx, но не на главной странице. Вы должны переопределить этот метод на каждой странице aspx или создать свой собственный базовый класс, производный от класса Page, а затем переопределить метод.

person IrfanRaza    schedule 11.11.2009

Было бы проще использовать переопределение PageStatePersister способ изменить механизм сохранения ViewState на всех страницах, не требуя базового класса.

Милан Негован написал хороший сообщение в блоге о различных вариантах использования PageStatePersister с некоторыми дополнительными ссылками .

person PHeiberg    schedule 11.11.2009