Жизненный цикл страницы ASP.net

У меня есть страница ASP.net на моей странице, я использую это как мой код для файлов. при первом обращении к странице вызываются методы preinit, init, load. при постбэках вызываются методы preinit, init, load.

Мой вопрос: события состояния LoadViewstate и управления (переопределенные методы) также не запускаются после обратной передачи.

protected override void OnPreInit(EventArgs e)
{
    base.OnPreInit(e);
}
protected override void LoadViewState(object savedState)
{

    base.LoadViewState(savedState);

}

protected override void LoadControlState(object savedState)
{
    base.LoadControlState(savedState);
}
protected void Page_Init(object sender, EventArgs e)
{

}
protected void Page_Load(object sender, EventArgs e)
{
  //  lblName.Text = ViewState["Test"].ToString();
}

person balaweblog    schedule 13.10.2008    source источник


Ответы (2)


Этот метод используется в основном инфраструктурой .NET Framework и не предназначен для использования непосредственно из вашего кода. Однако разработчики элементов управления могут переопределить этот метод, чтобы указать, как настраиваемый серверный элемент управления восстанавливает свое состояние просмотра. Дополнительные сведения см. В разделе Обзор управления состоянием ASP.NET.

Метод LoadViewState восстанавливает информацию о состоянии просмотра, которая была сохранена во время предыдущего запроса SaveViewState. Класс WebControl переопределяет базовый метод LoadViewState для обработки свойств ViewState, Style и Attributes.

Также обратите внимание

Состояние элемента управления Иногда вам необходимо сохранить данные состояния элемента управления, чтобы элемент управления работал правильно. Например, если вы написали настраиваемый элемент управления, который имеет разные вкладки, отображающие разную информацию, для того, чтобы этот элемент управления работал должным образом, элемент управления должен знать, какая вкладка выбрана между обходами. Для этой цели можно использовать свойство ViewState, но состояние просмотра может быть отключено разработчиками на уровне страницы, что фактически нарушит ваш контроль. Чтобы решить эту проблему, платформа страницы ASP.NET предоставляет функцию в ASP.NET называется состоянием управления.

Свойство ControlState позволяет сохранять информацию о свойстве, специфичную для элемента управления, и ее нельзя отключить, как свойство ViewState.

ссылка Asp.Net StateManagement

Если ваш элемент управления является клиентским серверным элементом управления, взгляните на

iStateManager

А для полного обзора viewstate - пришлось поискать в моих закладках, попробовать

Истинное понимание состояния просмотра

person Community    schedule 13.10.2008

ASP.NET оптимизирует этот вызов и вызывает LoadViewState только в том случае, если в состояние представления записаны какие-либо пользовательские данные.

Если вы установите что-то в состояние просмотра при первом вызове (например, ViewState ["foo"] = 42;), LoadViewState будет вызываться в следующих (и последующих) обратных вызовах.

person Gaspar Nagy    schedule 13.10.2008