页面加载()或页面初始化()

问题描述:

在asp.net中,你什么时候绑定你的gridviews?在页面加载()或页面初始化()....为什么?页面加载()或页面初始化()

您通常应该在Load()或之后进行绑定。 Init()事件旨在允许您在绑定发生器之前创建任何动态创建的控件,以便在绑定需要发生时存在。 Load()不是唯一的选择,但是...如果因为某种原因需要延迟绑定到控件上,还可以在PreRender()事件中绑定。如果需要,还可以在Load()中进一步设置,调用页面的DataBind()方法,并处理页面绑定事件以更加结构化的方式进行绑定。

+0

+1提到'PreRender'(我忽略提及它),因为它在所有孩子上递归调用EnsureChildControls。 – Cerebrus 2009-06-02 16:28:43

这取决于具体情况,但最常见的答案是Page_Load,因为对于大多数数据绑定方案来说,这通常是足够的。

即使对于复杂的数据绑定方案,Page_Init是一个合适的地方,因为像GridView控件容器控件只在Page_Load事件加载自己的孩子。你需要走生命周期的更远的地方去接触那些孩子。

但就我而言,答案是“既不”。这是因为我从来没有在Page_Load之内直接数据绑定控件。我更喜欢的是有一个单独的方法来执行数据绑定,并且可以从Page_Load或任何其他函数中调用,如果我需要在回发后重新绑定。