我有 Main.Master、一个内部母版页 Inner.Master 和 abc.aspx。在 Inner.Master 我有一个下拉列表 ddlChildren,我在 Inner.Master 页面加载时填充它。
我想,在加载页面 abc.aspx 时,我可以从其母版页 Inner.Master 访问 ddlChildren:
int x = Int32.Parse(((DropDownList)this.Parent.FindControl("ddlChildren")).SelectedValue);
我在 abc.aspx 的页面加载上执行此操作。问题是没有找到这个控件。我认为这是因为控件尚未加载到 Inner.Master 中,因为当我这样做时:
this.Parent.Controls.Count
在调试时,我对 Inner.Master 只有 1 个控件,它是 Main.Master。
然后我尝试调用 ddlChildren onPreRender,但同样的情况发生了。
根据http://msdn.microsoft.com/en-us/library/ms178472.aspx,控件是在预渲染时加载的,但内部主控的预渲染称为 AFTER abc.aspx。那么我可以在另一个页面阶段执行此操作吗?
还是我完全偏离了轨道?