我在占位符中有一个带有动态用户控件的页面。当我加载页面时,它默认加载一个 UC(我们称之为“OrigUC”)。在这个页面上,我有一个按钮,它用另一个“NewUC”替换了 UC。所以这个按钮回发使用 ajax 并替换了 UC 。
在 NewUC 中,在我的 Page_Load 中,我检查 IsPostBack(),但由于某种原因,即使我第一次加载 UC,它仍然返回 true。为什么它返回 true,我认为 IsPostBack 将返回是否 UC,因为我在 UC 的 Page_Load 中检查它。我错过了什么吗?
好的,我现在更多地了解来自调用它的页面的用户控件上的 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