Skip to content

PopupControl

PopupControl is a generic script/postback bridge control: when activated it renders zero or more chained client-side confirm()/alert() dialogs, then triggers a postback carrying the user's choice back into the page lifecycle through IPostBackEventHandler, relaying the result to the hosting page as a typed ConfirmAction event (OP-7). Unlike PopUpButton, it is not tied to a single button's click and supports multiple chained messages.

Purpose

  • Present one or more sequential client-side dialogs (confirm or alert) and carry the result of that interaction through a postback back to server-side code.
  • Provide a master-page-safe registration path (ScriptManager.RegisterStartupScript) for the generated dialog script.

Context

  • Namespace: SAIF.Presentation.Web.Controls.PopUps
  • Assembly/package: SAIF.Presentation.Web.Controls.PopUps.Infragistics111 (package)

Public members

Member Signature Purpose
Active Public Property Active() As Boolean Toggles whether Render() emits the popup script
Messages Public Property Messages() As ArrayList The ordered list of message strings to present as chained confirm()/alert() calls
PopupType Public Property PopupType() As PopupTypes Selects whether messages are presented as chained confirm() calls (Confirm) or alert() calls (Notify)
PopupTypes (nested enum) Public Enum PopupTypes — members Notify, Confirm Determines which client-side dialog behavior Render() emits
ConfirmAction Public Event ConfirmAction(ByVal Confirm As Boolean, ByVal e As EventArgs) Raised from RaisePostBackEvent after the postback completes, carrying the user's confirm/cancel result
New Public Sub New() Default constructor
RaisePostBackEvent Public Sub RaisePostBackEvent(ByVal eventArgument As String) Implements IPostBackEventHandler.RaisePostBackEvent Converts the posted "true"/"false" argument to a boolean and raises ConfirmAction

Behavioral notes

  • For PopupTypes.Confirm with multiple Messages entries, the generated RunPopup() JavaScript chains one confirm() call per message but overwrites its result variable on each iteration — effectively only the last dialog's result gates the postback outcome, not a logical AND of all dialogs*.

Constraints and usage notes

  • The client script is registered via ScriptManager.RegisterStartupScript, so a hosting page using partial-postback update panels must have a ScriptManager present on the page for the popup to function correctly*.

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.PopUps.Infragistics111\PopupControl.vb