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 не обеспечивает авторизацию, защиту от повторных бизнес-операций или безопасность сохранения данных.