У меня есть страница с динамическим пользовательским элементом управления в качестве заполнителя.
Когда я загружаю страницу, она загружает UC (назовем его «OrigUC») по умолчанию. На этой странице у меня есть кнопка, которая заменила UC на другой «NewUC». Поэтому эта кнопка выполняет обратную передачу с использованием ajax и заменяет UC.
В NewUC, в моей Page_Load я проверяю IsPostBack (), но по какой-то причине, даже если я загрузил UC в первый раз, он все равно возвращает мне true. Почему он возвращает true, я думал, IsPostBack вернет ли UC, так как я проверяю его внутри Page_Load UC. Я что-то упустил?
Хорошо, теперь я понимаю больше IsPostback для пользовательского элемента управления, поступающего со страницы, с которой он вызывается ... Так как я могу определить, является ли это первый раз, когда UC вызывается со страницы?
Пример:
Если это первый раз, когда UC вызывается на странице, мне нужно запросить БД, а также внешний WebS и связать элементы управления на UC. Если я запускаю частичную обратную передачу, я не хочу снова запрашивать БД и WebS.
If (!IsUserControlPostBack)
{
// Step 1 Init of UC
// Call to DB
// Call to WebS
}
else
{
// A Post back occured ...
// It can be Page who triggered it or UC and I do not want to call Step 1 again
// DO something else.
}
C