---
title: SAIFButton
summary: API reference for SAIFButton.
status: draft
owner: SAIF Documentation Team
last_reviewed: 2026-08-17
library: SAIF.Presentation.Web.Controls.V2
reference_type: package
---

# SAIFButton

`SAIFButton` is a `Button` subclass that adds an AJAX "busy indicator" client-side convention: when enabled, it applies an indicator CSS class, tags itself with a `DisableFormControls` attribute, and registers `Button.js` so partial postbacks show visual feedback and can optionally disable other form controls while processing.

## Purpose
- Give buttons a consistent "in-progress" visual indicator during AJAX partial postbacks without requiring each page to wire this up manually.
- Optionally disable other form controls while the button's postback is in flight, preventing conflicting user input.

## Context
- Namespace: `SAIF.Presentation.Web.Controls.V2`
- Assembly/package: Compiled into `SAIF.BOF.Presentation.Web.Infragistics103`*

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| `DisableFormControlsOnClick` | `Public Property DisableFormControlsOnClick As Boolean` | Determines whether other form controls are disabled client-side while this button's click is being processed; defaults to `True`. |
| `EnableIndicator` | `Public Property EnableIndicator As Boolean` | Turns on the AJAX busy-indicator CSS class and registers the supporting client script; defaults to `True`. |

## Inherited public members

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

| Member | Signature | Purpose |
| --- | --- | --- |
| `CausesValidation` | `Public Property CausesValidation As Boolean` | Determines whether clicking the button triggers ASP.NET validator checks before postback. |
| `CommandArgument` | `Public Property CommandArgument As String` | Caller-supplied payload passed through command events so pages can distinguish which action fired. |
| `CommandName` | `Public Property CommandName As String` | Semantic command name raised during command handling for higher-level page logic. |
| `OnClientClick` | `Public Property OnClientClick As String` | Client-side JavaScript executed before postback, commonly used to add confirmation or other click guards. |
| `PostBackUrl` | `Public Property PostBackUrl As String` | Cross-page postback target when the button submits to another page. |
| `Text` | `Public Property Text As String` | Caption rendered on the button face. |
| `UseSubmitBehavior` | `Public Property UseSubmitBehavior As Boolean` | Controls whether the button renders as a native submit element or uses ASP.NET postback script. |
| `ValidationGroup` | `Public Property ValidationGroup As String` | Validator group name evaluated when the button is clicked. |
| `Click` | `Public Event Click As EventHandler` | Standard button click event raised after the postback reaches the server. |

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

## Behavioral notes
- `SAIFButton_Init` sets `CssClass` to `"SAIFButton"`, or `"SAIFButtonIndicator"` plus a `DisableFormControls` attribute when `EnableIndicator` is true, and registers `Button.js` in that case.
- The `Button.js` script referenced is not present in this project folder; its exact client-side indicator behavior could not be verified from this library's source**.

## Constraints and usage notes
- Requires `Button.js` to be deployed at `/Resources/Scripts/Controls/Button.js` in the hosting application for the indicator behavior to function.

> **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\SAIFButton.vb
