The HtmlForm control allows programmatic access to the HTML <form> element on the server. The control is a container for server controls on a Web Forms page and all server controls that post back to the server must be placed between its opening and closing tags. Web developer can control the behavior of the HtmlForm control by setting its properties. ASP.NET allows only a single HtmlForm control to be active on a Web Forms page. If there is more than one active HtmlForm control on a Web Forms page, the common language runtime will throw an System.Web.HttpException exception when end user requests the page. Web developer can resolve this by using a MultiView control where each View object contains one HtmlForm control, because only one View is active at any given time.

Note: By default, the Method property is set to POST. Web developer can modify the value of this property to GET, but this might break the built-in state and postback services provided by the ASP.NET page framework.

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

Property

Description

Supported in .NET version

Adapter

This property gets the browser-specific adapter for the control. If the target browser does not require an adapter, returns a null reference (Nothing in VB.NET). The property returns the ControlAdapter object that renders the control on the requesting device or browser’s screen.

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

Web developer can use this property to get a collection of all attribute name and value pairs expressed on a server control tag within the ASP.NET page. Using this property Web developer accesses the attributes of the HTML server control which are stored in Control.ViewState property. HTML attributes are treated by the .NET Framework as properties on the HTML server control to which they belong.

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

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

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

DefaultButton

This property gets or sets the child control of the HtmlForm control that causes postback when the ENTER key is pressed in an input control in the form (such as a text box). Web developer can specify as a default button any control that derives from the IButtonControl interface except the LinkButton control. If the control that is referenced by the DefaultButton property does not derive from IButtonControl, an InvalidOperationException exception is thrown. Note: If Web developer is using master pages and he/she set the DefaultButton property from a content page, he/she should use the UniqueID property of the IButtonControl button.

The DefaultButton property might not cause a postback when:

–          ENTER is pressed, but focus is outside the input controls in the form. The default postback action is not guaranteed to be triggered.

–          ENTER is pressed when focus is inside a multi-line text box. In a multi-line text box, the expected behavior is that pressing ENTER creates a new line in the text box. In some browsers, pressing ENTER inside a multi-line text box triggers a postback. In that case, if Web developer wants ENTER to create a new line instead, he/she can attach a JavaScript function to the input control. The script should capture the ENTER key and stop the postback.

–          A LinkButton control is specified as a default button. Only Button and ImageButton controls are supported.

–          The property is changing programmatically during an asynchronous postback. Asynchronous postbacks can be enabled on a page by adding one or more UpdatePanel controls to the page.

2.0, 3.0, 3.5, 4.0

DefaultFocus

This property is used to get or set the control on the form to display as the control with input focus when the HtmlForm control is loaded. The control with focus can also be set using the Focus or SetFocus methods which have precedence over the property. If either of these methods is called to set the control with focus, the value of the DefaultFocus property is ignored.

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

Disabled

This property is used to get or set a value indicating whether the HTML server control is disabled. Its default value is false i.e. the control is enabled. In the browser, a disabled element or control is read-only, with the following added restrictions:

– its value is not submitted with the form,

– the element or control cannot receive focus

– the element or control is skipped when navigating the document by tabbing.

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

Enctype

This property is used to get or set the encoding type a browser uses when posting the form’s data to the server. Its default value is an empty string (“”), indicating that the browser’s default content type is used. The common encoding types are:

– application/x-www-form-urlencoded – Form data is encoded as name/value pairs. This is the standard encoding format.

– multipart/form-data – Form data is encoded as a message with a separate part for each control on the page.

– text/plain – Form data is encoded in plain text, without any control or formatting characters.

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

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

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

InnerHtml

This property gets or sets (modifies) the content found between the opening and closing tags of the specified HTML server control. The property does not automatically encode special characters to and from HTML entities. HTML entities allow Page developers to display special characters, such as the < character, that a browser would ordinarily interpret as having special meaning. The < character would be interpreted as the start of a tag and is not displayed on the page. To display the < character, Page developer should use the entity &lt;.

Note: Because the text is not HTML encoded, it possible to embed script within HTML tags in the text. If this property is set dynamically using user input, Web developers should be sure to validate the value to reduce security vulnerabilities.

1.0,1.1, 2.0, 3.0, 3.5, 4.0

InnerText

This property gets or sets (modifies) the text between the opening and closing tags of the specified HTML server control. Unlike the InnerHtml property, the InnerText property automatically encodes special characters to and from HTML entities. HTML entities allow Page developers to display special characters, such as the < character, that a browser would ordinarily interpret as having special meaning. The < character would be interpreted as the start of a tag and is not displayed on the page. To display the < character, they should use the entity &lt;.

Note: If there are no child controls, the InnerHtml property contains the value String.Empty.

1.0,1.1, 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

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

Method

This property is used to get or set a value that indicates how a browser posts form data to the server for processing. Its default value is POST.

Note: Web developer can override the default value of this property and use the GET method instead of POST. However, because GET requests are limited in how much data they can include, using the GET method can, in some cases, cause the postback and state management capabilities provided by the ASP.NET page framework to fail.

1.0,1.1, 2.0, 3.0, 3.5, 4.0

Name

This property returns the unique identifier name for an HtmlForm control. The get accessor returns the value of the UniqueID property. The set accessor does not assign a value to this property because the Name property must have the same value as the UniqueID property.

1.0,1.1, 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

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

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

SubmitDisabledControls

This property gets or sets a Boolean value indicating whether to force controls disabled on the client to submit their values, allowing them to preserve their values after the page posts back to the server. The property value is true if controls disabled on the client are forced to submit their values; otherwise, false Its default value is false.

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

Target

This property is used to get or set the frame or window in which to render the results of information that is posted to the server.  Its default value is an empty string (“”).

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

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

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