SmartQuery /ВОПРОС → ПРИМЕР → ПОНЯТНЫЙ ОТВЕТ
Веб-разработка

ASP.NET Web Forms: IsPostBack в Page_Load

Page.IsPostBack показывает, загружается ли страница Web Forms впервые или в ответ на клиентский postback. Это свойство System.Web в .NET Framework, а не универсальная проверка любой отправки HTTP-формы и не свойство ASP.NET Core.

Инициализация при первом открытии

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        txtName.Text = "";
        // Здесь первоначальная загрузка списка/значений.
    }
}

Проверка !IsPostBack предотвращает повторную инициализацию при отправке формы. Если каждый раз заново заполнить список или поле без учёта жизненного цикла, можно затереть пользовательский ввод.

Кнопка и значение поля

<asp:TextBox ID="txtName" runat="server" />
<asp:Button ID="btnSubmit" runat="server"
    Text="Отправить" OnClick="btnSubmit_Click" />
protected void btnSubmit_Click(object sender, EventArgs e)
{
    if (!Page.IsValid) return;
    string name = txtName.Text.Trim();
    // Дополнительная проверка и обработка name.
}

Код первого открытия нельзя помещать в else обработчика клика: этот обработчик вызывается уже в ответ на действие. В C# регистр важен: правильно IsPostBack, а не Ispostback.

Проверка

Откройте страницу, введите текст, нажмите кнопку и убедитесь, что значение не сброшено Page_Load. Проверьте ошибки валидаторов и повторную отправку. IsPostBack не обеспечивает авторизацию, защиту от повторных бизнес-операций или безопасность сохранения данных.

Документация