0

我有一个用户控件,它作为一个容器来容纳更多的用户控件。

一旦所有子控件都有数据绑定,我需要执行某些访问检查。

我希望我可以附加到 usercontrol.databound 事件,但似乎没有。

一旦其他用户控件具有数据绑定,我还必须在父用户控件上执行哪些其他选项。我假设我必须让子控件通知他们有数据绑定的父级,并且父级需要跟踪哪些有数据绑定,哪些没有,当它们都有数据绑定时,它可以执行它的操作。

4

2 回答 2

0

您不需要让子控件通知父控件。查看ASP.Net 页面:生命周期。您需要将代码放在 PreRender 事件中的容器用户控件中。这在回发事件之后执行。

于 2010-08-17T05:01:52.217 回答
-1

基于ASP.net 页面生命周期事件文章,我使用了这个:

protected void Page_PreRenderComplete(object sender, EventArgs e)
{
  if (!IsPostBack) //only at 1st load
    UpdateSelection();
}

protected void UpdateSelection()
{
  UpdateSelection(listItems.SelectedValue);
}

protected void listItems_SelectedIndexChanged(object sender, EventArgs e)
{
  UpdateSelection();
}

在我的例子中,UpdateSelection 正在从下拉列表中选择的文件加载 XML 数据(开始时指向索引 0),并且需要页面上的一些 CheckBoxLists 首先从其他 XML 文件中获取它们的项目,以便它们允许基于 XML 数据检查项目的代码

从那时起 UpdateSelection 只是在下拉列表 SelectedIndexChanged 事件中被调用(那些做 PostBacks 所以在 PreRenderComplete 我忽略它们以避免两次做 UpdateSelection)

于 2013-07-11T08:21:38.020 回答