page load()或page init()

时间:2009-06-02 16:18:11

标签: asp.net pageload page-init

在asp.net中,何时绑定gridviews?在Page Load()或Page Init()....为什么?

2 个答案:

答案 0 :(得分:12)

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

答案 1 :(得分:4)

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

即使对于复杂的数据绑定方案,Page_Init 也是合适的位置,因为像GridView这样的容器控件仅在{{1}期间加载其子项事件。你需要在生命周期中走得更远才能接触到这些孩子。

然而,在我的情况下,答案是“不”。这是因为我从不在Page_Load内直接对控件进行数据绑定。我更喜欢的是有一个单独的方法来进行数据绑定,如果我需要在回发后重新绑定,可以从Page_Load或任何其他函数调用。