Skip to content

SAIFWarp child-control setup and hidden-field rendering

This operation spans two overridden lifecycle methods on SAIFWarp — CreateChildControls and RenderContents — that together maintain a hidden input field carrying the focus-target control ID across an async postback.

Field Value
Operation ID OP-SAIFWARP-CHILDCONTROLS
Trigger ASP.NET control-creation phase (CreateChildControls) and render phase (RenderContents)
Inputs FocusControlID property
Outputs Hidden input control {ID}_FOCUS added to Controls and rendered with current value
Primary components SAIFWarp.CreateChildControls, SAIFWarp.RenderContents
Entry point SAIF.Presentation.Web.Controls.Infragistics103\SAIFWarp.vb

Steps

  1. CreateChildControls: call MyBase.CreateChildControls(), then create a hidden input control (m_HiddenFocus) with ID {Me.ID}_FOCUS and initial value FocusControlID, and add it to the Controls collection.
  2. RenderContents: refresh m_HiddenFocus.Value from the current FocusControlID property immediately before calling MyBase.RenderContents(writer), ensuring the hidden field reflects the latest focus target at render time.

Process flow

The following diagram visualizes this operation's control flow.

flowchart TD
    Start([CreateChildControls called]) --> Base1[Call MyBase.CreateChildControls]
    Base1 --> Create[Create hidden input m_HiddenFocus with ID FOCUS]
    Create --> Add[Add to Controls collection]
    Add --> Render([RenderContents called later])
    Render --> Refresh[Refresh m_HiddenFocus.Value from FocusControlID]
    Refresh --> Base2[Call MyBase.RenderContents]
    Base2 --> EndOk([Hidden field rendered with current value])

Failure and edge-case behavior

  • No error handling branches exist in either method; both are unconditional lifecycle overrides.

Sources

  • SAIF.Presentation.Web.Controls.Infragistics103\SAIFWarp.vb