Skip to content

SAIFListBox

SAIFListBox is a ListBox subclass adding the same AJAX "busy indicator" client-side convention as SAIFButton/SAIFComboBox, plus registration of a page-request-manager callback so the indicator re-initializes correctly after partial (AJAX) postbacks.

Purpose

  • Give list-box selection changes a consistent "in-progress" visual indicator during AJAX partial postbacks.
  • Ensure the indicator initialization script re-runs after each partial postback, not just on initial page load.

Context

  • Namespace: SAIF.Presentation.Web.Controls.V2
  • Assembly/package: Compiled into SAIF.BOF.Presentation.Web.Infragistics103*

Public members

Member Signature Purpose
DisableFormControlsOnChange Public Property DisableFormControlsOnChange As Boolean Determines whether other form controls are disabled client-side while this list box's change postback is processed; defaults to True.
EnableIndicator Public Property EnableIndicator As Boolean Turns on the AJAX busy-indicator CSS class and registers the supporting client scripts; defaults to True.

Inherited public members

SAIFListBox inherits from ListBox (System.Web.UI.WebControls), a framework base class rather than a documented SAIF dependency library.

Member Signature Purpose
AutoPostBack Public Property AutoPostBack As Boolean Determines whether changing the selection immediately posts the page back to the server.
Items Public ReadOnly Property Items As ListItemCollection Collection of selectable list-box items managed by the control.
Rows Public Property Rows As Integer Visible row count of the rendered list box.
SelectionMode Public Property SelectionMode As ListSelectionMode Controls whether the list box allows single or multiple selection.
SelectedIndex Public Property SelectedIndex As Integer Index of the first selected item in the list.
SelectedItem Public ReadOnly Property SelectedItem As ListItem First currently selected item.
SelectedValue Public Property SelectedValue As String Value of the first selected item.
Text Public Property Text As String Display text of the selected item.
SelectedIndexChanged Public Event SelectedIndexChanged As EventHandler Standard selection-change event raised after postback.

Standard ListBox/Control members (ID, ClientID, Controls, Visible, DataBind, FindControl, etc.) are not re-documented here as they are unmodified framework behavior**.

Behavioral notes

  • SAIFListBox_Init sets CssClass to "SAIFListBox", or "SAIFListBoxIndicator" plus a DisableFormControls attribute when EnableIndicator is true.
  • RegisterClientScripts registers SAIF.ListBox.js and, if a ScriptManager is present, an inline script that re-invokes $(document).initSAIFListBoxes() on the PageRequestManager's endRequest event so the indicator wiring survives partial postbacks.

Constraints and usage notes

  • Requires SAIF.ListBox.js to be deployed at /Resources/Scripts/SAIF.ListBox.js.
  • The ScriptManager-based startup-script re-registration only occurs when a ScriptManager is present on the page (i.e., in an UpdatePanel/AJAX context).

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\SAIFListBox.vb