这个问题真的让我很困扰,所以我希望有人能帮我一下。
1)假设页面包含用户控件,则在UserControl.Page_Load之前将触发Page.Page_Load:
a) 我假设如果页面包含ObjectDataSource1控件,则ObjectDataSource1将在UserControl.Page_Load之前执行数据绑定?!
b) 如果是这种情况,那么Page.Prerender也会在UserControl.Page_Load之前发生吗?
c) 如果UserControl包含ObjectDataSource2控件,那么该控件是否与直接包含在Page中的ObjectDataSource1同时执行数据绑定?
但那没什么意义,因为我认为UserControl内部的控件遵循UserControl的生命周期而不是Page的生命周期?!
无论如何,我认为Web页面托管用户控件不能接收用户控件内包含控件的事件或调用方法!如果是这样,那么Web页面如何能够在ObjectDataSource2上调用databind?
谢谢
编辑:
我的困惑主要来源于某本书中的以下引用:
“……用户的国家、州和城市只读一次从配置文件中读取并保存在本地变量中。UserControl.Page_Load不能用于此,因为UserControl.ObjectDataSource自动绑定在之前发生,因此我们必须使用UserControl.Page_Init事件处理程序。”
我认为在上述引文中,作者建议如果用户控件包含ODS,则此ODS将在UserControl.Page_Load之前执行数据绑定,这不是您所说的吗?
顺便说一句-上述引用中所说的用户控件是在设计时添加到Web页面中的。
另一个编辑:
我搜索了一下,这本书(或其中的一部分)可以在以下链接中找到。
1)假设页面包含用户控件,则在UserControl.Page_Load之前将触发Page.Page_Load:
a) 我假设如果页面包含ObjectDataSource1控件,则ObjectDataSource1将在UserControl.Page_Load之前执行数据绑定?!
b) 如果是这种情况,那么Page.Prerender也会在UserControl.Page_Load之前发生吗?
c) 如果UserControl包含ObjectDataSource2控件,那么该控件是否与直接包含在Page中的ObjectDataSource1同时执行数据绑定?
但那没什么意义,因为我认为UserControl内部的控件遵循UserControl的生命周期而不是Page的生命周期?!
无论如何,我认为Web页面托管用户控件不能接收用户控件内包含控件的事件或调用方法!如果是这样,那么Web页面如何能够在ObjectDataSource2上调用databind?
谢谢
编辑:
我的困惑主要来源于某本书中的以下引用:
“……用户的国家、州和城市只读一次从配置文件中读取并保存在本地变量中。UserControl.Page_Load不能用于此,因为UserControl.ObjectDataSource自动绑定在之前发生,因此我们必须使用UserControl.Page_Init事件处理程序。”
我认为在上述引文中,作者建议如果用户控件包含ODS,则此ODS将在UserControl.Page_Load之前执行数据绑定,这不是您所说的吗?
顺便说一句-上述引用中所说的用户控件是在设计时添加到Web页面中的。
另一个编辑:
我搜索了一下,这本书(或其中的一部分)可以在以下链接中找到。
这句话出自第257页,基本上是描述 ArticleListing.ascx 用户控件的一部分。
顺便说一下 - 只是为了让您不认为我是妄想症...我不希望任何人阅读有关该用户控件的整个部分,我只是认为第257页上的代码可能提供足够的上下文来理解作者实际意思。