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