---
title: SAIFImageButton
summary: API reference for SAIFImageButton.
status: draft
owner: SAIF Doc Gen
last_reviewed: 2026-08-17
library: SAIF.Presentation.Web.Controls.V2.Menu
reference_type: package
---

# SAIFImageButton

`SAIFImageButton` is a thin wrapper over the standard ASP.NET `ImageButton` used by every rendered icon in both `SAIFMenu` (favourites/applications icons) and `SAIFMenuTop` (toolbar icons) ([BR-MENU-053](../../business-rules.md#br-menu-053-every-toolbar-icon-is-a-registered-saifimagebutton)). It always carries the CSS class `SAIFImageButton` ([BR-MENU-072](../../business-rules.md#br-menu-072-every-image-button-carries-css-class-saifimagebutton)), and can optionally add an AJAX activity indicator and disable the hosting form while an action is in flight, or fall back to a client-side one-click guard when indicators are disabled ([BR-MENU-065](../../business-rules.md#br-menu-065-one-click-buttons-are-guarded-client-side-when-indicators-are-off)).

## Purpose
- Provide a single, consistently styled image button implementation shared by both menu controls, so icon styling and click-guard behaviour do not need to be reimplemented per control.
- When `EnableIndicator` is true, switch the rendered CSS class and publish a `DisableFormControls` attribute so client script can disable the form during the AJAX round-trip ([BR-MENU-073](../../business-rules.md#br-menu-073-enabling-the-indicator-switches-the-css-class-and-publishes-disableformcontrols)).
- Register the shared `ImageButton.js` script once per page, and only when at least one button on the page has its indicator enabled ([BR-MENU-074](../../business-rules.md#br-menu-074-imagebuttonjs-is-registered-once-per-page-only-when-the-indicator-is-enabled)).

## Context
- Namespace: `SAIF.Presentation.Web.Controls.V2.Menu`
- Assembly/package: `SAIF.Presentation.Web.Controls.V2.Menu` (shipped merged into `SAIF.Presentation.Web.Infragistics111.dll` via ILMerge)

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| `DisableFormControlsOnClick` | `Public Property DisableFormControlsOnClick As Boolean` | Whether clicking this button should disable other form controls while the postback/AJAX action is in flight. |
| `EnableIndicator` | `Public Property EnableIndicator As Boolean` | Whether this button shows the AJAX activity indicator and publishes the `DisableFormControls` client attribute on click. |

## Behavioral notes
- Activity indicators and form-disabling behaviour apply uniformly to all toolbar icons on a page together, rather than being independently toggled per icon at render time ([BR-MENU-064](../../business-rules.md#br-menu-064-activity-indicators-and-form-disabling-apply-to-all-toolbar-icons-together)).
- When `EnableIndicator` is false, a client-side one-click guard script still prevents duplicate submits from a fast double-click ([BR-MENU-065](../../business-rules.md#br-menu-065-one-click-buttons-are-guarded-client-side-when-indicators-are-off)).

## Constraints and usage notes
- `SAIFImageButton` instances are expected to be created and configured by `SAIFMenu`/`SAIFMenuTop` during control-tree construction rather than declared directly in markup by consuming pages.*

> **Note:** Statements marked with * were inferred from code structure, naming conventions, or contextual evidence where direct confirmation was not available in source artifacts.

## Sources
- `SAIF.Presentation.Web.Controls.V2.Menu/SAIFImageButton.vb`
