FocusManager¶
FocusManager is a non-visual helper control that emits an inline client-side <script> block to move keyboard focus to a designated control when the page loads, saving host pages from hand-writing focus-management JavaScript.
Purpose¶
- Set browser focus to a specific control by ID after the page renders, wrapped in a
try/catchso a missing element does not raise a client-side script error.
Context¶
- Namespace:
SAIF.Presentation.Web.Controls.V2 - Assembly/package: Compiled into
SAIF.BOF.Presentation.Web.Infragistics103*
Public members¶
| Member | Signature | Purpose |
|---|---|---|
BoundControlId |
Public Property BoundControlId As String |
Identifies (by control ID, resolved via Page.FindControl) which control on the page should receive focus when the page loads. |
Inherited public members¶
FocusManager inherits from Control (System.Web.UI), a framework base class rather than a documented SAIF dependency library.
| Member | Signature | Purpose |
|---|---|---|
ID |
Public Property ID As String |
Server-side identifier used by naming containers and by other controls looking up this helper control. |
ClientID |
Public ReadOnly Property ClientID As String |
Rendered client-side ID emitted into markup when the control participates in output. |
Controls |
Public ReadOnly Property Controls As ControlCollection |
Child controls collection available if the helper is extended with nested controls. |
EnableViewState |
Public Property EnableViewState As Boolean |
Controls whether the helper persists state across postbacks. |
NamingContainer |
Public ReadOnly Property NamingContainer As Control |
Parent naming container used to scope ID resolution. |
Page |
Public ReadOnly Property Page As Page |
Owning page used here to resolve BoundControlId and register the startup script. |
Parent |
Public ReadOnly Property Parent As Control |
Immediate containing control in the server control tree. |
Visible |
Public Property Visible As Boolean |
Determines whether the control participates in rendering. |
Standard Control members (ID, ClientID, Controls, Visible, DataBind, FindControl, etc.) are not re-documented here as they are unmodified framework behavior**.
Behavioral notes¶
Renderonly emits the focus script ifBoundControlIdis set andPage.FindControl(BoundControlId)resolves to an existing control; otherwise it renders nothing.- The script is registered via
Page.ClientScript.RegisterStartupScript, so it executes once per page render.
Constraints and usage notes¶
BoundControlIdmust resolve relative to the host page's naming container; a mismatched or misspelled ID silently results in no focus action, with no error surfaced to the developer.
Note: Statements marked with * were inferred from code structure, naming conventions, or contextual evidence where direct confirmation was not available in source artifacts. Statements marked with ** could not be confirmed; treat as unknown until verified.
Sources¶
- SAIF.Presentation.Web.Controls.V2\FocusManager.vb