Page.isPostBack в ASP.NET
Одной из замечательных возможностей Web-форм, является возможность помнить значения форм для каждого пользователя. Значения, введенные пользователем выслеживаются ViewState, который сохраняет предыдущие введенные в форму значения. Также ViewState может быть аннулирован событием Page_Load, которое может привести к повторению вызова некоторых команд.
Page.isPostBack может быть использован для предотвращения сохранения страницы, в случаях, когда это не требуется. Это иллюстрирует следующий пример<%@ import namespace="system.datd.SQL" %>
<script language="VB" runat=server>
Sub Page_Load(myList AS Object,E as EventArgs)
' проверяет состояние isPostBack
if NOT Page.IsPostBack Then
Dim dbRead AS SQLDataReader
Dim dbComm AS SQLCommand
Dim SQLserver AS String
Dim SQL AS String
SQLserver = "server=database;uid=user_name;password=pwd;"
SQL = "Select col1 from test"
dbComm = New SQLCommand(SQL,SQLserver)
dbComm.ActiveConnection.Open()
dbComm.execute(dbRead)
While dbRead.Read()
list1.items.add(New ListItem(dbRead.Item("col1")))
End While
End if
End Sub
</script>
<FORM RUNAT="server" method="get">
<asp:DropDownList id="list1" runat="server"/>
</FORM>
В приведенном выше примере ниспадающий список list1 возвращается форму заполненной, лишь когда она впервые загружена. Если форма обновляется впоследствии, то Page.isPostBack установлен в значение TRUE, и DropDownList возвращает существующие значения, без выполнения запроса.
Это новое преимущество ASP+, используемое для наблюдения за обновлением форм и предотвращения повторного выполнения команд.