Differences Between ItemCreated and ItemDataBound
Here are some hints which can help you visualize the sequence of the ItemCreated and ItemDataBound events firing, their specifics and execution lifecycle:
Question | Answer |
---|---|
Is there any data in the item? | ItemCreated is fired -before- the item is data-bound. Thus, there is no data in the cells' text or input controls yet. In ItemDataBound all is available. |
How often does it fire? |
ItemCreated is fired when grid is binding to data and when grid is binding from the ViewState, hence after each page postback - just before Load event occurs. ItemDataBound is fired only when grid binds to data. This means that if you need to add controls to a grid item that should fire a postback event, you should:
|
What about the ViewState management? | ItemCreated should be hooked when you need to modify the controls inside a grid cell. ItemDataBound should be wired in order to change the data displayed inside a grid cell and its controls. The changes made in the ItemCreated / ItemDataBound handlers will be persisted in the ViewState. |