プレースホルダーに動的ユーザーコントロールのあるページがあります。ページをロードすると、デフォルトでUC(「OrigUC」と呼びます)がロードされます。このページには、UCを別の「NewUC」に置き換えたボタンがあります。したがって、このボタンはajaxを使用してポストバックし、UCを置き換えます。
NewUCのPage_Loadで、IsPostBack()をチェックしますが、何らかの理由で、初めてUCをロードした場合でも、trueが返されます。なぜそれがtrueを返すのですか、UCのPage_Load内でチェックしているので、IsPostBackがUCを返すかどうかを返すと思いました。何かが足りませんか?
呼び出し元のページからのユーザーコントロールのIsPostbackについて理解しました...では、ページからUCが初めて呼び出されたかどうかをどのように判断できますか?
例:
ページ内でUCが初めて呼び出される場合は、DBと外部WebSにクエリを実行し、UCのコントロールをバインドする必要があります。部分的なポストバックをトリガーした場合、DBと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