Web developers can use the Button control to create a push button on the Web page. They can create a Submit or a Command button.

By default, a Button control is a Submit button i.e. does not have a command name specified by the CommandName property and associated with the button. This kind of button simply posts the Web page back to the server. Web developers can set an event handler for the Click event to control with code the actions performed by the end users when the Submit button is clicked.

When a Button control is a Command button it has a command name associated with it. This allows Web developers to create multiple Button Controls on a Web page and programmatically specify which Button is clicked.  They can also use the CommandArgument property with a command button to send additional information about the performed command. The developers can control programmatically the actions performed when the Command button is clicked using an event handler for the Command event.

When a Button control is clicked the page validation is performed. Page validation determines whether the input controls associated with a validation control on the page all pass the validation rules specified by the validation control. The Web developers can prevent page validation if they set the CausesValidation property to false.

Namespace: System.Web.UI.WebControls
Assembly: System.Web (in System.Web.dll)

Property Description Supported in .NET version
AccessKey This property returns or sets the access key that allows software developer to quickly navigate to the Web server control. 1.0,1.1, 2.0, 3.0, 3.5, 4.0
Adapter This property gets the browser-specific adapter for the control. 2.0, 3.0, 3.5, 4.0
AppRelativeTemplateSourceDirectory

 

Software developer can use this property to set or get the application-relative path to the page or user control that contains the current control.  If the web page is installed in https://www.somesite.com/apps/application1 the property will return “~/application1”. 2.0, 3.0, 3.5, 4.0
Attributes This property is a collection which contains a collection of all attributes declared in the opening tag of a Web server control. Software developer can control programmatically the attributes associated with a Web server control. He/she can add or remove attributes to/from the collection. 1.0,1.1, 2.0, 3.0, 3.5, 4.0
BackColor The property is used to specify the background color of the Web server control. Software developer can set it using a System.Drawing..::.Color object. 1.0,1.1, 2.0, 3.0, 3.5, 4.0
BindingContainer Software developer can’t use this property directly from his/her code, because it supports the .NET Framework infrastructure.  The property contains a reference to the Control object which contains data-binding information for the current control. 1.0,1.1, 2.0, 3.0, 3.5, 4.0
BorderColor The property is used to specify the border color of the Web server control. Software developer can set it using a System.Drawing..::.Color object. 1.0,1.1, 2.0, 3.0, 3.5, 4.0
BorderStyle Specifies the type of the control’s border. Software developer can choose one of the values from the BorderStyle enumeration – Dashed, Dotted, Double, Grrove, Ridge, Inset, Outset, Solid and None. 1.0,1.1, 2.0, 3.0, 3.5, 4.0
BorderWidth Specifies the size of the control’s border.  When software developer sets this property he/she should use combination of a numeric value followed by type of measurement: px (for pixels) or % (for percentage) and so on. 1.0,1.1, 2.0, 3.0, 3.5, 4.0
CausesValidation This property is used to get or set a value indicating whether validation is performed when the Button is clicked. Page validation determines whether the input controls associated with a validation control on the page all pass the validation rules specified by the validation control. The property is commonly set to false for a reset or clear button to prevent validation from being performed when the button is clicked. When the value of the CausesValidation property is set to true, Web developers can also use the ValidationGroup property to specify the name of the validation group for which the Button control causes validation.

Note: Web developers have to set the  property’s value to false when they are using the PostBackUrl property to post back to a different page. They must check validation when posting back to a different page.

1.0,1.1, 2.0, 3.0, 3.5, 4.0
ChildControlsCreated Gets a true value that indicates whether the server control’s child controls have been created. 1.0,1.1, 2.0, 3.0, 3.5, 4.0
ClientID Returns the server control identifier generated by ASP.NET. The ClientID value is generated by concatenating the ID value of the control and the UniqueID value of its parent control. If the ID value of the control is not specified, an automatically generated value is used. Each part of the generated ID is separated by an underscore character (_). 1.0,1.1, 2.0, 3.0, 3.5, 4.0
ClientIDSeparator The ClientID value is generated by concatenating the ID value of the control and the UniqueID value of its parent control. Each part of the generated ID property is separated by the ClientIDSeparator property value. The value always returns an underscore (_). 1.0,1.1, 2.0, 3.0, 3.5, 4.0
CommandArgument The property is used to get or set an optional  parameter passed to the Command event along with the associated CommandName. 1.0,1.1, 2.0, 3.0, 3.5, 4.0
CommandName This property is used to get or set the command name associated with the Button control that is passed to the Command event. When the Web page has multiple Button controls on it, the Web developers have to use CommandName property to determine the command name associated with each Button control. They can use any string, which identifies the command, to set the CommandName property. After then the developers can specify the command name of the control programmatically and do the appropriate actions. 1.0,1.1, 2.0, 3.0, 3.5, 4.0
Context Software developer can use this property to access the HttpContext object for the current Web request. Using properties of the object software developer can access objects Application, Session, Request, Response, etc. which contain information about the current HTTP request. The object provides methods that allow him to get configuration information and to set or clear errors related to the request. 1.0,1.1, 2.0, 3.0, 3.5, 4.0
Controls This property allows software developer to access programmatically to the instance of the ControlCollection class for any server control. Using it he/she can add/remove controls to/from the collection or iterate through the server controls in the collection. 1.0,1.1, 2.0, 3.0, 3.5, 4.0
ControlStyle This property is used to encapsulate all properties of the WebControl class that specify the appearance of the control, such as BorderColor and Font. This property is used primarily by control developers. 1.0,1.1, 2.0, 3.0, 3.5, 4.0
ControlStyleCreated This property is used primarily by control developers. Returns a true value if a Style object has been created for the ControlStyle property; otherwise false. 1.0,1.1, 2.0, 3.0, 3.5, 4.0
CssClass Software developer can use this property to specify the CSS class to render on the client for the Web Server control. This property will render on browsers for all controls. On browsers that do not support CSS, setting the CssClass property will have no effect. 1.0,1.1, 2.0, 3.0, 3.5, 4.0
DesignMode This property returns true to indicate that the control is being used in the context of a designer. Software developer’s custom controls can use this property when design-time behavior is different than run-time behavior. 2.0, 3.0, 3.5, 4.0
Enabled Software developer should set this property to true when he/she wants to specify or determine whether a control is functional. When developer sets to false, the control appears dimmed, preventing any input from being entered in the control. Notes:

  • Not all browsers support this property. Dimming and locking the control only works in browsers that are compatible with Microsoft Internet Explorer version 4 and later.
  • In a custom composite control, this behavior does not apply to controls that have not yet created their child controls.
  • A disabled control can support postbacks. It is possible for a user who is viewing the page with a disabled control to craft a request that submits a postback that is processed by the page.
1.0,1.1, 2.0, 3.0, 3.5, 4.0
EnableTheming This property overrides Control. EnableTheming.

The property indicates whether themes are enabled for a specified control. When the property’s value is true, the application’s theme directory is searched for control skins to apply. If for the particular control skin does not exist in the directory, skins are not applied. When the property’s value is false, the theme directory is not searched and the contents of the SkinID property are not used.

2.0, 3.0, 3.5, 4.0
EnableViewState Software developer must enable view state for the server control setting its value to true if he/she wants to maintain its state across HTTP requests. Sometimes is better to set value of this property to false if for example Web application is loading a database request into a server control. In this case application performance will be improved. 1.0,1.1, 2.0, 3.0, 3.5, 4.0
Events This read-only property returns a list of event handler delegates for the control. The type of this property is EventHadlerList, which uses a linear search algorithm to find entries in the list of delegates. When the list of delegates is large, finding entries with this property will be slow, because a linear search algorithm is inefficient when working with a large number of entries. 1.0,1.1, 2.0, 3.0, 3.5, 4.0
Font Software developer can use this property to specify the font properties of the Web Server control. This property includes subproperties that can be accessed declaratively in the form of Property-Subproperty (for example Font-Bold) or programmatically in the form of Property.Subproperty (for example Font.Bold).

All but one subproperty will render in browsers prior to Microsoft Internet Explorer version 4 for all controls. They are: Bold, Italic, Name, Names, Strikeout, Underline, and Size (but only named font sizes, such as Small, Smaller, and so on, will work).

 

1.0,1.1, 2.0, 3.0, 3.5, 4.0
ForeColor Software developer can use this property to to specify the foreground color of the Web server control. The foreground color is usually the color of the text. This property will render on browsers earlier than Microsoft Internet Explorer version 4 for all controls, except the Image, AdRotator, HyperLink and LinkButton. 1.0,1.1, 2.0, 3.0, 3.5, 4.0
HasAttributes This property returns true when the WebControl instance has attribute name/value pairs. The attribute pairs can be set either in the property or in the view state. 2.0, 3.0, 3.5, 4.0
HasChildViewState Software developer can use this property to verify that any child controls of the server control are storing view-state information. Using it in this way he/she can avoid unnecessary calls to the ClearChildViewState method. 1.0,1.1, 2.0, 3.0, 3.5, 4.0
Height This property is used to specify the height of the Web server control. When software developer sets this property he/she should use combination of a numeric value followed by type of measurement: px (for pixels) or % (for percentage) and so on.This property does not render for all controls in browsers earlier than Microsoft Internet Explorer version 4. Controls that do not render this property in earlier browsers include Label, HyperLink, LinkButton, and any validation controls. The CheckBoxList, RadioButtonList and DataList also do not render this property in earlier browsers when their RepeatLayout property is set to RepeatLayout.Flow. Furthermore, only unit types of Pixel and Percentage are supported in earlier browsers. 1.0,1.1, 2.0, 3.0, 3.5, 4.0
ID Web developers can set this property by declaring ID attribute in the opening tag of an ASP.NET server control. Another possible way to set it is programmatically. If this property is not specified for a server control, either declaratively or programmatically, Web developer can obtain a reference to the control through its parent control’s Controls property. 1.0,1.1, 2.0, 3.0, 3.5, 4.0
IdSeparator Software developer can’t use this property directly from his/her code, because it supports the .NET Framework infrastructure.   The character contained in this property ( by default $ ) is used to separate the control identifiers for child controls. The ID separator character is appended to the ID property. 2.0, 3.0, 3.5, 4.0
IsChildControlStateCleared This property has value true if children of this control do not use control state; otherwise, false. 2.0, 3.0, 3.5, 4.0
IsEnabled This property returns true if the Enabled property is true for this control and any containing controls. 2.0, 3.0, 3.5, 4.0
IsTrackingViewState This property returns value true if the control is marked to save changes to its view state; otherwise, false.

 

1.0,1.1, 2.0, 3.0, 3.5, 4.0
IsViewStateEnabled This property returns value true if view state is enabled for the control; otherwise false.  View state can be enabled at the page, container, or control level. When view state is disabled at the page or container level, view state is disabled for all controls contained by the page or container. The property indicates whether view state is enabled by pages, containers, or controls. In some cases it is possible values for the EnableViewState property and the IsViewStateEnabled property to be different. For example, if the Page containing the control has view state disabled, the EnableViewState property can be true while the IsViewStateEnabled property is false. Notes: Developers will set the EnableViewState property to indicate whether they are using view state with your control. Web developers can use this property in their code to determine whether view state is enabled for their control and all containers. 2.0, 3.0, 3.5, 4.0
LoadViewStateByID This property returns value true if the control loads its view state by ID; otherwise, false. Its default value is false. 2.0, 3.0, 3.5, 4.0
NamingContainer Using this property software developer can get a reference to the server control’s naming container, which creates a unique namespace for differentiating between server controls with the same Control.ID property value. 1.0,1.1, 2.0, 3.0, 3.5, 4.0
OnClientClick This property is used to get or set the client-side script that executes when a Button control’s Click event is raised. The script that Web developers specify for this property is rendered in the Button control’s OnClick attribute in addition to the control’s predefined client-side script. 2.0, 3.0, 3.5, 4.0
Page Provides a reference to the web page that contains this control as a System.Web.UI.Page object.  This property’s value reflects the name of the .aspx file that contains the server control. 1.0,1.1, 2.0, 3.0, 3.5, 4.0
Parent This property provides a reference to the control that contains this control. If the control is placed on the page directly (rather than inside another control), it will return a reference to the page object. 1.0,1.1, 2.0, 3.0, 3.5, 4.0
PostBackUrl Web developers can use this property to get or set the URL of the page to post to from the current page when the Button control is clicked.  This property allows web developers to perform a cross-page post using the control.

Note: Web developers must specify paths correctly if they want to work with this property. For example, relative paths (Apps/default.aspx), absolute paths (https://localhost/MyWebApp/default.aspx) and virtual (~\Apps\default.aspx) work correctly. Incorrectly formed paths such as “/Apps/default.aspx” or “\Apps\default.aspx” do not work.

2.0, 3.0, 3.5, 4.0
Site Using this property software developer can get information about the container that hosts the current control when rendered on a design surface.  A site binds a Component object to a Container object and enables communication between the two. It also provides a way for the container to manage its components. 1.0,1.1, 2.0, 3.0, 3.5, 4.0
SkinID This property overrides Control.SkinID.

Web developer can get or set the skin to apply to the control.  Skins available to a control are contained in one or more skin files in a theme directory. The SkinID property specifies which of these skins to apply to the control. A skin is specific to a particular control i.e. software developer cannot share skin setting between controls of different types. If developer does not set the SkinID property, a control uses the default skin if one is defined.

2.0, 3.0, 3.5, 4.0
Style Web developer can use this property to get a collection of text attributes that will be rendered as a style attribute on the outer tag of the Web server control. This property will render on all browsers for all controls. 1.0,1.1, 2.0, 3.0, 3.5, 4.0
TabIndex With this number software developer can control the tab order. The control with a TabIndex of  zero has the focus when the page first loads. If end user presses Tab his/her focus will be moved to the control with the next lowest TabIndex. This property is available only in Internet Explorer 4.0 and higher. 1.0,1.1, 2.0, 3.0, 3.5, 4.0
TagKey Gets the HtmlTextWriterTag value that corresponds to this Web server control. This property is used primarily by control developers 1.0,1.1, 2.0, 3.0, 3.5, 4.0
TagName Web developers can use this property to get the name of the control tag. This property is used primarily by control developers. 1.0,1.1, 2.0, 3.0, 3.5, 4.0
TemplateControl This property is used to get or set a reference to the template that contains this control. 2.0, 3.0, 3.5, 4.0
TemplateSourceDirectory Software developer can use this property to get the path to the page or user control that contains the current control.  If the web page is installed in https://www.somesite.com/apps/application1 the property will return “apps/application1”. 1.0,1.1, 2.0, 3.0, 3.5, 4.0
Text Web developers can use this property to get or set the text content of the Button control. The property is commonly used to programmatically customize the text that is displayed in the control. This property can include HTML. 1.0,1.1, 2.0, 3.0, 3.5, 4.0
ToolTip This property displays a text message when the end users hover the mouse above the control. 1.0,1.1, 2.0, 3.0, 3.5, 4.0
UniqueID This property can be used to get the unique, hierarchically qualified identifier for the server control. This property differs from the ID property, in that the UniqueID property includes the identifier for the server control’s naming container. This identifier is generated automatically when a page request is processed. This property is particularly important in differentiating server controls contained within a data-binding server control that repeats as Repeater, DataList, DetailsView, FormView, and GridView Web server controls. 1.0,1.1, 2.0, 3.0, 3.5, 4.0
UseSubmitBehavior The property is used to get or set a value indicating whether the Button control uses the client browser’s submit mechanism or the ASP.NET postback mechanism. By default the value of this property is true, causing the Button control to use the browser’s submit mechanism. If web developer specifies false, the ASP.NET page framework adds client-side script to the page to post the form to the server. 2.0, 3.0, 3.5, 4.0
ValidationGroup This property is used to get or set the group of controls for which the Button control causes validation when it posts back to the server. 2.0, 3.0, 3.5, 4.0
ViewState Web developers can use this property to get a dictionary of state information that allows them to save and restore the view state of a server control across multiple requests for the same page. 1.0,1.1, 2.0, 3.0, 3.5, 4.0
ViewStateIgnoresCase This property returns true if StateBag object is insensitive; otherwise, false. Its default value is false. 1.0,1.1, 2.0, 3.0, 3.5, 4.0
Visible Web developers can use this property to get or set a value that indicates whether a server control is rendered as UI on the page. If the control is visible on the page this property will has value true; otherwise false. 1.0,1.1, 2.0, 3.0, 3.5, 4.0
Width This property is used to specify the width of the Web server control. When software developer sets this property he/she should use combination of a numeric value followed by type of measurement: px (for pixels) or % (for percentage) and so on.This property does not render for all controls in browsers earlier than Microsoft Internet Explorer version 4. Controls that do not render this property in earlier browsers include Label, HyperLink, LinkButton, and any validation controls. The CheckBoxList, RadioButtonList and DataList also do not render this property in earlier browsers when their RepeatLayout property is set to RepeatLayout.Flow. Furthermore, only unit types of Pixel and Percentage are supported in earlier browsers. 1.0,1.1, 2.0, 3.0, 3.5, 4.0