Choosing and installing a .NET framework

To work with ASP.NET controls in Microsoft Expression Web, you must install the .NET Framework Redistributable Package Version 2.0, 3.0, or 3.5 on the same computer that Expression Web is installed on. When one of these .NET frameworks is installed, Expression Web provides the following support for the ASP.NET controls of that framework:

  • The ability to drop ASP.NET controls into a page from either the Toolbox task pane or the Insert menu.

  • ASP.NET IntelliSense and syntax checking in the Code view of your page.

  • Property editing in the Tag Properties task pane.

  • Preview in the Design view of your page.

  • Common Tasks smart tag menu in Design view.

  • ASP.NET error messages in Design view.


If the .NET Framework Redistributable Package Version 2.0, 3.0, or 3.5 is not installed on your computer before you install Expression Web, the Expression Development Server will not be installed when you install Expression Web. For more information, see Install Expression Development Server.

When a.NET framework is not installed on your computer, ASP.NET controls that require the missing framework won't appear in the Toolbox task pane. Instead, a hyperlink to more information will appear in the control's category. In addition, if you open a web page that contains an ASP.NET control that requires a .NET framework that is not installed on your computer, the status bar displays the Missing Framework icon Cc295562.IconMissingFramework(en-us,Expression.10).png, and errors appear in the Design view of the page wherever the control would have appeared.


In order for your web pages to display correctly from your web server, your web server must support the version of the .NET Framework that is required by the ASP.NET controls in your website. In addition, if your website contains a web.config file, the version of the web.config file should match the version of the .NET framework that is installed on your system and on your web server.

If you have the .NET Framework version 3.5 installed on your computer, the following ASP.NET controls appear in the Toolbox task pane in addition to the controls that are listed under the ".NET Framework version 2.0" section in this topic.

To download the .NET Framework version 3.5, see Microsoft .NET Framework 3.5 in the Microsoft Download Center online.

In addition to the data web server controls and data source web server controls that are provided by the .NET 2.0 Framework, the .NET 3.5 Framework provides two additional data web server controls:

  • DataPager control   Enables you to display data as a sequence of pages and displays navigation controls for the ListView control.

  • ListView control   Enables you to bind to data items that are returned from a data source and display them. The ListView control is useful for data in any repeating structure, similar to the DataList and Repeater controls. However, unlike with those controls, with the ListView control you can enable users to edit, insert, and delete data, and to sort and display data as a sequence of pages, all without code.

The ASP.NET AJAX web server controls under the AJAX category enable you to add AJAX functionality to an ASP.NET web page. These controls enable you to create rich client behavior with little or no client script, such as partial-page rendering and displaying update progress during asynchronous postbacks. The AJAX controls provided by the .NET 3.5 Framework include:

  • ScriptManager control   Manages client script for AJAX-enabled ASP.NET web pages.

  • ScriptManagerProxy control   Enables nested components such as content pages and user controls to add script and service references to pages when a ScriptManager control is already defined in a parent element.

  • Timer control   Performs postbacks at defined intervals. If you use the Timer control with an UpdatePanel control, you can enable partial-page updates at a defined interval. You can also use the Timer control to post the whole page.

  • UpdatePanel control   Enables you to build rich, client-centric web applications. By using UpdatePanel controls, you can refresh selected parts of the page instead of refreshing the whole page with a postback. This is referred to as performing a partial-page update.

  • UpdateProgress control   Provides status information about partial-page updates in UpdatePanel controls.

If you have the .NET Framework version 3.0 installed on your computer, all the ASP.NET controls that are provided by the .NET Framework version 2.0 appear in the Toolbox task pane. The .NET Framework version 3.0 also provides four technologies for building applications outside of Expression Web, including Windows Presentation Foundation, Windows Communication Foundation, Windows Workflow Foundation, and Windows CardSpace.

To download and install the .NET Framework 3.0, see Microsoft .NET Framework 3.0 Redistributable Package in the Microsoft Download Center online.

If you have the Microsoft .NET Framework version 2.0, 3.0, or 3.5 installed on your computer, the following ASP.NET controls appear in the Toolbox task pane. To download and install the .NET Framework Version 2.0, see Microsoft .NET Framework Version 2.0 Redistributable Package (x86) in the Microsoft Download Center online.

The ASP.NET Standard controls enable you to display buttons, lists, images, boxes, hyperlinks, labels, tables, as well as more complicated controls that work with static and dynamic data or controls that act as containers for other controls.

  • AdRotator control   Provides a convenient way to display advertisements (ads) on your ASP.NET web pages. The control displays a graphic image that you provide — a .gif file or similar image. When users click the ad, they are redirected to a target URL that you have specified. The control automatically reads advertisement information, such as the graphic file name and the target URL, from a list of ads that you provide using a data source, which is usually an XML file or database table.

  • BulletedList control   Creates an unordered or ordered (numbered) list of items, which renders as an HTML <UL> or <OL> tag, respectively. You can specify the appearance of the items and of the bullets or numbers, define the list items statically or by binding the control to data, and you can respond to users' clicks on items.

  • Button control   Allows users to indicate that they have completed a form or that they want to perform a specific command.

  • Calendar control   Displays a calendar through which users can navigate to any day in any year.

  • CheckBox control   Provides a way for users to switch between true-false or yes-no options.

  • CheckBoxList control   Acts as a parent control for a collection of check-box list items.

  • ContentPlaceHolder control   Defines a relative region for content in a master page.

  • DropDownList control   Enables users to select from a single-selection drop-down list box. The DropDownList control is similar to the ListBox control. It differs in that it shows only the selected item in a box, along with a drop-down button. When users click the button, a list of items is displayed.

  • FileUpload control   Allows you to provide users with a way to send a file from their computer to the server. The control is useful for allowing users to upload pictures, text files, or other files.

  • HiddenField control   Provides you with a way to store information in the page without displaying it.

  • HyperLink control   Provides a means of creating and manipulating links on a web page from server code.

  • Image control   Enables you to display images on a web forms page and manage the images in server code.

  • ImageButton control   Allows users to indicate that they have completed a form or that they want to perform a specific command.

  • ImageMap control   Enables you to create an image that has individual regions that users can click; these regions are referred to as hot spots. Each of these hot spots can be a separate hyperlink or can raise a postback event.

  • Label control   Provides a way to display text programmatically and control it in an ASP.NET web page.

  • LinkButton control   Creates a hyperlink-style button on a web forms page.

  • ListBox control   Allows users to select one or more items from a predefined list.

  • Literal control   Renders static text into a web page without adding any HTML elements. You can manipulate the text programmatically with server code.

  • Localize control   Displays localized text in a specific area on your page.

  • MultiView control   Acts as a container for groups of View controls. Each View control in turn contains child controls such as buttons and text boxes. Your application can programmatically display a specific View control to the client based on criteria such as user identity, user preferences, or information that is passed in a query string parameter.

  • Panel control   Provides a container within the page for other controls. By putting controls into a Panel control, you can control them as a unit, for example, hiding or showing them. You can also use a Panel control to create a distinct appearance for a group of controls.

  • PlaceHolder control   Enables you to place an empty container control in the page and then dynamically add child elements to it at run time.

  • RadioButton control   Allows users to select one item from a predefined list. You add individual RadioButton controls to a page and work with them singly.

  • RadioButtonList control   Acts as a parent control for a collection of radio button list items. It works much like the ListBox, DropDownList, BulletedList, and CheckBoxList web server controls.

  • Substitution control   Specifies a section on an output-cached web page that is exempt from caching. Use the Substitution control to specify a section on an output-cached web page where you want dynamic content substituted for the control.

  • Table control   Creates a general-purpose table on an ASP.NET web page. Rows in the table are created as TableRow web server controls, and cells within each row are implemented as TableCell web server controls.

  • TextBox control   Provides a way for users to type information into an ASP.NET web page, including text, numbers, and dates.

  • View control   Contains child controls such as buttons and text boxes. Your application can programmatically display a specific View control to the client based on criteria such as user identity, user preferences, or information that is passed in a query string parameter.

  • Wizard control   The Wizard control enables you to build ASP.NET web pages that present users with multi-step procedures.

  • Xml control   Reads XML and writes it into an ASP.NET web page at the location of the control. When you create a Data View on an .aspx file, you are creating an XML control.


The .NET Framework version 2.0 provides two types of ASP.NET data controls in Expression Web: Data Source controls, which allow you to set properties for connections to database or XML data sources, and Data controls, which allow you to display data from data sources specified in Data Source controls.

Data Source controls

  • AccessDataSource control   The AccessDataSource control is a data source control that works with Microsoft Access databases.

  • SiteMapDataSource control   The SiteMapDataSource Web server control retrieves navigation data from a site-map provider, and then passes the data to controls that can display that data, such as the TreeView and Menu controls.

  • SqlDataSource control   The SqlDataSource control enables you to use a Data control to access data located in a relational data base, including Microsoft SQL Server and Oracle databases, as well as OLE DB and ODBC data sources.

  • XmlDataSource control   The XmlDataSource control makes XML data available to data-bound controls. You can use it to display both hierarchical and tabular data, although the XmlDataSource control is typically used to display hierarchical XML data in read-only scenarios.

Data controls

  • DataList control   The DataList control is useful for displaying data in any repeating structure, such as a table. The DataList control can display rows in different layouts, such as ordering them in columns or rows.

  • DetailsView control   The DetailsView control gives you the ability to display, edit, insert, or delete a single record at a time from its associated data source. The DetailsView control displays only a single data record at a time, even if its data source exposes multiple records.

  • FormView control   The FormView control gives you the ability to work with a single record from a data source, similar to the DetailsView control. The difference between the FormView and the DetailsView controls is that the DetailsView control uses a tabular layout where each field of the record is displayed as a row of its own. In contrast, the FormView control does not specify a pre-defined layout for displaying the record. Instead, you create a template containing controls to display individual fields from the record.

  • GridView control   The GridView control displays the values of a data source in a table where each column represents a field and each row represents a record. The GridView control allows you to select, sort, and edit these items.

  • Repeater control   The Repeater control is a data-bound container control that produces a list of individual items. You define the layout of individual items on a web page using templates. When the page runs, the control repeats the layout for each item in the data source.

ASP.NET validation controls allow you to check user input on a web page.

  • CompareValidator control   The CompareValidator control compares a user's entry against a constant value, against the value of another control (using a comparison operator such as less than, equal to, or greater than), or for a specific data type.

  • CustomValidator control   The CustomValidator control checks the user's entry using validation logic that you write yourself. This type of validation enables you to check for values derived at run time.

  • RangeValidator control   The RangeValidator control checks that a user's entry is between specified lower and upper boundaries. You can check ranges within pairs of numbers, alphabetic characters, and dates.

  • RegularExpressionValidator control   Checks that the entry matches a pattern defined by a regular expression. This type of validation enables you to check for predictable sequences of characters, such as those in e-mail addresses, telephone numbers, postal codes, and so on.

  • RequiredFieldValidator control   The RequiredFieldValidator control ensures that the user does not skip an entry.

  • ValidationSummary control   The ValidationSummary control does not perform validation, but is often used in conjunction with other validation controls to display the error messages from all the validation controls on the page together.

You can use these controls to create menus and other navigation aids on ASP.NET web pages.

  • Menu control   The ASP.NET Menu control enables you to add navigational functionality to your web pages. The Menu control supports a main menu and submenus, and allows you to define dynamic menus (sometimes called "fly-out" menus).

  • SiteMapPath control   The SiteMapPath control displays a navigation path (which is also known as a breadcrumb or eyebrow) that shows the user the current page location and displays links as a path back to the home page. The control provides many options for customizing the appearance of the links.

  • TreeView control   The TreeView control is used to display hierarchical data, such as a table of contents or file directory, in a tree structure.

The ASP.NET login controls work together to provide a robust complete login solution for your ASP.NET web applications that requires no programming. By default, login controls integrate with ASP.NET membership to help automate user authentication for your website.

  • ChangePassword   The ChangePassword control allows users to change their password. The user must first supply the original password and then create and confirm the new password. If the original password is correct, the user password is changed to the new password. The control also includes support for sending an e-mail message about the new password.

  • CreateUserWizard control   The CreateUserWizard control collects information from potential users.

  • Login control   The Login control displays a user interface for user authentication. The Login control contains text boxes for the user name and password and a check box that allows users to indicate whether they want the server to store their identity using ASP.NET membership and automatically be authenticated the next time they visit the site.

  • LoginName control   The LoginName control displays a user's login name if the user has logged in using ASP.NET membership. Alternatively, if your site uses integrated Windows authentication, the control displays the user's Windows account name.

  • LoginStatus control   The LoginStatus control displays a login link for users who are not authenticated and a logout link for users who are authenticated. The login link takes the user to a login page. The logout link resets the current user's identity to be an anonymous user.

  • LoginView control   The LoginView control allows you to display different information to anonymous and logged-in users. The control displays one of two templates: the AnonymousTemplate or the LoggedInTemplate. In the templates, you can add markup and controls that display information appropriate for anonymous users and authenticated users, respectively.

  • PasswordRecovery control   The PasswordRecovery control allows user passwords to be retrieved based on the e-mail address that was used when the account was created. The PasswordRecovery control sends an e-mail message containing a password to the user. You can configure ASP.NET membership to store passwords using non-reversible encryption. In that case, the PasswordRecovery control generates a new password instead of sending the original password to the user.

ASP.NET Web Parts is an integrated set of controls for creating websites that enable end users to modify the content, appearance, and behavior of web pages directly from a browser.

  • AppearanceEditorPart control   Provides an editor control that enables end users to edit several user interface (UI) properties on an associated WebPart control.

  • BehaviorEditorPart control   Provides an editor control that enables end users to change properties that affect the behavior of an associated WebPart or GenericWebPart control.

  • CatalogZone control   Creates a catalog of Web Parts controls from which users can select controls to add to a page.

  • ConnectionsZone control   Contains WebPartConnection controls, and provides a UI for managing connections.

  • DeclarativeCatalogPart control   Provides a way for developers to add a set of server controls declaratively to a catalog on a web page. An advantage of using a DeclarativeCatalogPart control to create a catalog of server controls is that it does not require any coding. Page developers can work with the control entirely in the declarative (or page persistence) format, hence the name of the control.

  • EditorZone control   Enables users to edit and personalize Web Parts controls on a page.

  • ImportCatalogPart control   Provides the user interface (UI) for a user to upload a control's definition file (an XML file defined by a schema, that contains state information) to a catalog, so that the control can be added to a web page. The controls themselves do not appear in this type of catalog; the catalog is just a mechanism for accessing the definition files for external controls so they can be added to a page.

  • LayoutEditorPart control   Provides an editor control that enables end users to edit several user interface (UI) properties on an associated WebPart control.

  • PageCatalogPart control   Contains controls that have been closed on a page, and that can be reopened (added back to the page) by users. The controls in this type of catalog are controls that were already added to the page from another source, and were then closed by a user.

  • PropertyGridEditorPart control   Provides an editor control that enables end users to edit several user interface (UI) properties on an associated WebPart control.

  • ProxyWebPartManager control   The ProxyWebPartManager control exists for the particular scenario of declaring static connections in content pages when a WebPartManager control has already been declared in a master page.

  • WebPartManager control   Manages all Web Parts controls on a page. One (and only one) WebPartManager control is required for every Web Parts page.

  • WebPartZone control   Contains and provides overall layout for the Web Parts controls that compose the main UI of a page. Use this zone whenever you create pages with Web Parts controls. Pages can contain one or more zones.

Community Additions