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

#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();
}
 

Ответ №1:

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

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

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

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

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

Asp.Net Ссылка на управление статьями

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

iStateManager

И для полного обзора состояния просмотра — пришлось поискать в моих закладках, чтобы попробовать

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

Ответ №2:

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

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