---
schema_version: "1"
id: e3f87eb1fbf64daf6f328493f56a62fbb66ab9cb830deb36a8db4ba9ecd18ba3
title: Standard List Controller Actions
collection: developer
version: current
locale: en-us
portal_url: https://docs.salesforce.com/developer/current/en-us/platform/salesforce-pages-developers-guide/guides/pages/controller-std/pages-controller-sosc-actions.md
canonical_url: https://developer.salesforce.com/docs/platform/salesforce-pages-developers-guide/guide/pages-controller-sosc-actions.html
source_site: developer.salesforce.com
content_type: documentation
content_hash: ed7cf6636ad9d764f3756cfaf44c06764d49c88e72b0b76e117b5fac40337d71
products:
  - Visualforce Developer Guide
  - Platform Developer Content
---

# Standard List Controller Actions

Standard list controllers support action methods. Action methods perform logic or navigation when a page event occurs, such as when a user clicks a button or hovers over an area of the page.

Call action methods from page markup by using `{! }` notation in the `action` attribute of one of these tags.

-   [`<apex:commandButton>`](https://developer.salesforce.com/docs/platform/salesforce-pages-developers-guide/components/pages-compref-commandbutton.md) creates a button that calls an action
-   [`<apex:commandLink>`](https://developer.salesforce.com/docs/platform/salesforce-pages-developers-guide/components/pages-compref-commandlink.md) creates a link that calls an action
-   [`<apex:actionPoller>`](https://developer.salesforce.com/docs/platform/salesforce-pages-developers-guide/components/pages-compref-actionpoller.md) periodically calls an action
-   [`<apex:actionSupport>`](https://developer.salesforce.com/docs/platform/salesforce-pages-developers-guide/components/pages-compref-actionsupport.md) makes an event (such as “onclick”, “onmouseover”, and so on) on another, named component, call an action
-   [`<apex:actionFunction>`](https://developer.salesforce.com/docs/platform/salesforce-pages-developers-guide/components/pages-compref-actionfunction.md) defines a new JavaScript function that calls an action
-   [`<apex:page>`](https://developer.salesforce.com/docs/platform/salesforce-pages-developers-guide/components/pages-compref-page.md) calls an action when the page is loaded

This table describes the action methods all standard list controllers support. You can associate these actions with any Visualforce component that includes an `action` attribute.

|Action|Description|
|------|-----------|
|`save`|Inserts new records or updates existing records that have been changed. After this operation is finished, the `save` action returns the user to the original page, if known, or to the home page.|
|`quicksave`|Inserts new records or updates existing records that have been changed. Unlike the `save` action, `quicksave` doesn’t redirect the user to another page.|
|`list`|Returns a PageReference object of the standard list page, based on the most recently used list filter for that object when the `filterId` isn’t specified by the user.|
|`cancel`|Aborts an edit operation. After this operation is finished, the `cancel` action returns the user to the page where they originally invoked the edit.|
|`first`|Displays the first page of records in the set.|
|`last`|Displays the last page of records in the set.|
|`next`|Displays the next page of records in the set.|
|`previous`|Displays the previous page of records in the set.|

In this example, the user specifies a filter to view account records.

<!-- otherprops: apex_page set_clipboard -->
```markup
<apex:page standardController="Account" recordSetVar="accounts">
   <apex:form>
       <apex:selectList value="{!filterid}" size="1">
           <apex:selectOptions value="{!listviewoptions}"/>
       </apex:selectList>
       <apex:commandButton value="Go" action="{!list}"/>
   </apex:form>
</apex:page>
```

The page is associated with the standard Account list controller, which is based on the `StandardSetController` Apex class. The `{!listviewoptions}` expression calls the `getListViewOptions()` method for `StandardSetController` and evaluates to the available list views. The list view that the user selects is bound to the `filterId` property of the controller. When the `filterId` changes, the records available to the page change according to the filter. So when the user clicks **Go**, the standard list page displays the selected filtered records.

