Обновление страницы (нажатие F5 или кнопка обновления в вашем браузере) не является обратной передачей. Обратная передача происходит при нажатии кнопки, изменении выпадающего списка или каком-либо другом событии на странице, которое вызывает отправку данных на сервер (через HTTP POST, отсюда и название «обратная передача»)
Ваш вопрос не проясняет, обновляете ли вы страницу вручную или отправляете обратно на сервер с помощью нажатия кнопки или другого события.
Поскольку вы обновляете страницу вручную, IsPostBack
всегда будет ложным.
В ASP.NET есть два типа запросов (в некотором смысле):
- обычный запрос (например, пользователь загружает страницу в первый раз)
- постбэк (например, нажатие кнопки на странице, отправка данных на сервер)
Если вы хотите отследить, заходил ли пользователь на страницу раньше в любом случае, вам нужно отследить это самостоятельно. Вы можете установить переменную в сеансе, чтобы сделать это:
Session["UserHasVisitedThisPageBefore"] = true;
Затем вы можете проверить его вместо текущего IsPostBack
чека:
if(Session["UserHasVisitedThisPageBefore"] != null && (bool)Session["UserHasVisitedThisPageBefore"])
{
// stuff here
}