HOW TO: Associate Client-Side Events with Server-Side Controls in ASP.NET by Using Visual Basic .NET (318814)



The information in this article applies to:

  • Microsoft ASP.NET (included with the .NET Framework 1.1)
  • Microsoft ASP.NET (included with the .NET Framework) 1.0
  • Microsoft Visual Basic .NET (2003)
  • Microsoft Visual Basic .NET (2002)

This article was previously published under Q318814

SUMMARY

This step-by-step article demonstrates how to programmatically associate client-side events with server-side Web Forms controls in ASP.NET.

back to the top

Requirements

The following list outlines the recommended hardware, software, network infrastructure, and service packs that are required:
  • Microsoft Windows XP Professional, Microsoft Windows 2000 Professional, Windows 2000 Server, or Windows 2000 Advanced Server
  • Microsoft Visual Studio .NET
  • Microsoft .NET Framework
  • Microsoft Internet Information Services (IIS)
back to the top

Create an ASP.NET Web Application by Using Visual Basic .NET

These steps demonstrate how to create a new ASP.NET Web application that is named ClientEventDemo:
  1. Start Microsoft Visual Studio .NET.
  2. On the File menu, point to New, and then click Project.
  3. In the New Project dialog box, click Visual Basic Projects under Project Types, and then click ASP.NET Web Application under Templates.
  4. In the Location box, type ClientEventDemo to replace the default WebApplication# name in the URL path. If you are using the local server, you can leave the server name as "http://localhost." This results in an "http://localhost/ClientEventDemo" entry.
back to the top

Description of the WebControl.Attributes Property

The WebControl.Attributes property is implemented as a System.Web.UI.AttributeCollection class of name and value pairs. The Attributes collection contains a collection of all of the attributes that are declared in the opening tag of a Web server control. You can use this to programmatically control the attributes that are associated with a Web server control. You can add attributes to the collection or remove attributes from the collection. In the example that is described in this article, you add an attribute that is to be associated with a Web Forms TextBox control. Specifically, the name and value pair is for an entry named "onblur." The JavaScript "alert" code serves as the value.

Attributes that are stored in this collection for a Web server control do not correspond to the strongly-typed properties that are located on the specified Web server control. To better demonstrate this concept, another attribute is added for the Web Forms TextBox control in the sample code to set the background color. Notice that the sample code does not use the BackColor property of the Web Forms TextBox control. Instead, the sample code uses the HTML style attribute to set the background color. The Attributes property is rendered with all of the attributes in the collection in the opening tag for the control, no matter what the browser settings are. Not all browsers support every attribute that is rendered.

back to the top

Example That Uses the Attributes Property

This example demonstrates how to use the Attributes property to specify a client-side event for a Web Forms TextBox control:
  1. Follow these steps to add a new Web Form named ClientEventSample.aspx to the project:
    1. In Solution Explorer, right-click the Project node, click Add, and then click Add Web Form.
    2. In the Name box, type ClientEventSample.aspx, and then click Open.
  2. On the Design tab, drag a Web Forms TextBox control to the page, and then change the value of the ID property to MyTextBox in the Properties window.
  3. Right-click the page, and then click View Code. This opens the code-behind class file in the editor.
  4. Add the following code to the Page_Load event in the code-behind class file:
    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            MyTextBox.Attributes("onblur") = "javascript:alert('Focus lost from Web Forms MyTextBox control!!');"
            MyTextBox.Attributes("style") = "BACKGROUND-COLOR: #ccffff;"
    End Sub
    					
  5. On the File menu, click Save All to save the Web form and other associated project files.
  6. On the Build menu in the Visual Studio .NET integrated development environment, click Build Solution.
back to the top

Verify That It Works

  1. In Solution Explorer, right-click the ClientEventSample.aspx file, and then click View in Browser.
  2. With the page open in the browser, click the MyTextBox control to make it active, and then press the TAB key. You see a JavaScript message box that displays a confirmation that the onblur event has been triggered because the Web Forms control lost focus. Also, note that the background color for the MyTextBox control is set to blue.
back to the top

Troubleshooting

The Attributes property is rendered with all of the attributes in the collection in the opening tag for the control, no matter what the browser settings are. Not all browsers support every attribute that is rendered.

back to the top

REFERENCES

For additional information about the Attribute property and the AttributeCollection class, visit the following Microsoft Web sites: For additional information about finding ASP.NET information, click the article number below to view the article in the Microsoft Knowledge Base:

305140 INFO: ASP.NET Roadmap

For additional samples, documentation, and useful links about programming with ASP.NET, visit the Microsoft GotDotNet Web site: back to the top

Modification Type:MajorLast Reviewed:5/19/2003
Keywords:kbEvent kbHOWTOmaster kbServerControls KB318814 kbAudDeveloper