Chris Rathman / Chris.Rathman@tx.rr.com

ASPX Script

<!-- The sructure and many of the examples are based on:
--          Programming ASP.Net, Third Edition, Jesse Liberty and Dan Hurwitz.
--          Copyright 2006 O'Reilly Media, Inc., 0-596-00916-X
--   I highly recommend the book, if one wants to make actual sense of these terse notes.
-->
<%@ Page language="c#"
         Codebehind="Hello.aspx.cs"
         AutoEventWireup="false"
         Inherits="Hello.WebFormHello"
         MaintainScrollPositionOnPostBack="true"
         enableEventValidation="true" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<html>
   <head>
      <title>Hello</title>
   </head>
   <body>
      <form id="HelloForm" method="post" runat="server">
         <!-- ************************************************************************
         *  asp:Label                                                                *
         ************************************************************************* -->
         <p style='border:solid 1px'>
            <asp:Label
               id='MyLabel'
               runat='server'
               OnInit='MyLabel_Init'
               OnLoad='MyLabel_Load'
               OnPreRender='MyLabel_PreRender'
               OnUnLoad='MyLabel_UnLoad'
               OnDataBinding='MyLabel_DataBinding'
               Style='cursor:hand;'
               BackColor='linen'
               BorderColor='black'
               BorderStyle='None'
               BorderWidth='1'
               Font-Names='Courier New'
               Font-Size='10pt'
               Font-Bold
               ForeColor='blue'
               Height='20'
               Width='200'
               Visible='true'
               ToolTip='Label ToolTip'
               Text='ASP Label'/>
            <!-- BorderStyle: NotSet|None|Dotted|Dashed|Solid|Double|Groove|Ridge|Inset|Outset -->
         </p>

         <!-- ************************************************************************
         *  asp:TextBox                                                              *
         ************************************************************************* -->
         <p style='border:solid 1px'>
            <asp:TextBox
               id='MyTextBox'
               runat='server'
               OnInit='MyTextBox_Init'
               OnLoad='MyTextBox_Load'
               OnPreRender='MyTextBox_PreRender'
               OnTextChanged='MyTextBox_TextChanged'
               CausesValidation='true'
               ValidationGroup=''
               AutoPostBack='true'
               Columns='50'
               MaxLength='80'
               ReadOnly='false'
               Rows='1'
               TextMode='SingleLine'
               Wrap='true'
               BackColor='linen'
               Visible='true'
               Enabled='true'
               ToolTip='TextBox ToolTip'
               Text='ASP TextBox'/>
            <br/>

            <asp:TextBox
               id='MyTextArea'
               runat='server'
               Columns='50'
               Rows='3'
               TextMode='MultiLine'
               Wrap='true'
               Text='ASP TextArea'/>
            <br/>

            <asp:TextBox
               id='MyPassword'
               runat='server'
               Columns='50'
               MaxLength='80'
               Rows='1'
               TextMode='Password'
               Value='ASP Password'/>
         </p>

         <!-- ************************************************************************
         *  asp:HiddenField                                                          *
         ************************************************************************* -->
         <asp:HiddenField
            id='MyHiddenField'
            runat='server'
            OnValueChanged='MyHiddenField_ValueChanged'
            Value='ASP HiddenField'/>
         <br/>

         <!-- ************************************************************************
         *  asp:Button                                                               *
         ************************************************************************* -->
         <p style='border:solid 1px'>
            <asp:Button
               id='MyButton'
               runat='server'
               OnInit='MyButton_Init'
               OnLoad='MyButton_Load'
               OnPreRender='MyButton_PreRender'
               OnClick='MyButton_Click'
               OnCommand='MyButton_Command'
               CommandName='MyButtonCommand'
               CommandArgument='MyButtonCommandArgument'
               CausesValidation='true'
               ValidationGroup=''
               Visible='true'
               Enabled='true'
               ToolTip='Button ToolTip'
               Text='ASP Button'/>
         </p>

         <!-- ************************************************************************
         *  asp:LinkButton                                                           *
         ************************************************************************* -->
         <p style='border:solid 1px'>
            <asp:LinkButton
               id='MyLinkButton'
               runat='server'
               OnInit='MyLinkButton_Init'
               OnLoad='MyLinkButton_Load'
               OnPreRender='MyLinkButton_PreRender'
               OnClick='MyLinkButton_Click'
               OnCommand='MyLinkButton_Command'
               CommandName='MyLinkButtonCommand'
               CommandArgument='MyLinkButtonCommandArgument'
               CausesValidation='true'
               ValidationGroup=''
               Visible='true'
               Enabled='true'
               ToolTip='LinkButton ToolTip'
               Text='ASP LinkButton'/>
         </p>

         <!-- ************************************************************************
         *  asp:ImageButton                                                          *
         ************************************************************************* -->
         <p style='border:solid 1px'>
            <asp:ImageButton
               id='MyImageButton'
               runat='server'
               OnInit='MyImageButton_Init'
               OnLoad='MyImageButton_Load'
               OnPreRender='MyImageButton_PreRender'
               OnClick='MyImageButton_Click'
               OnCommand='MyImageButton_Command'
               CommandName='MyImageButtonCommand'
               CommandArgument='MyImageButtonCommandArgument'
               CausesValidation='true'
               ValidationGroup=''
               Visible='true'
               Enabled='true'
               ToolTip='ImageButton ToolTip'
               ImageUrl='images/go.gif'
               AlternateText='ASP LinkButton Alt Text'/>
            <br/>
         </p>

         <!-- ************************************************************************
         *  asp:HyperLink                                                            *
         ************************************************************************* -->
         <p style='border:solid 1px'>
            <asp:HyperLink
               id='MyHyperLink'
               runat='server'
               OnInit='MyHyperLink_Init'
               OnLoad='MyHyperLink_Load'
               OnPreRender='MyHyperLink_PreRender'
               Visible='true'
               Enabled='true'
               ToolTip='HyperLink ToolTip'
               ImageUrl=''
               NavigateUrl='Hello.aspx'
               Target='_self'
               Text='ASP HyperLink'/>
         </p>

         <!-- ************************************************************************
         *  asp:CheckBox                                                             *
         ************************************************************************* -->
         <p style='border:solid 1px'>
            <asp:CheckBox
               id='MyCheckBox'
               runat='server'
               OnInit='MyCheckBox_Init'
               OnLoad='MyCheckBox_Load'
               OnPreRender='MyCheckBox_PreRender'
               OnCheckedChanged='MyCheckBox_CheckedChanged'
               AutoPostBack='false'
               Visible='true'
               Enabled='true'
               ToolTip='CheckBox ToolTip'
               Text='ASP CheckBox'
               TextAlign='Right'/>
         </p>

         <!-- ************************************************************************
         *  asp:RadioButton                                                          *
         ************************************************************************* -->
         <p style='border:solid 1px'>
            <asp:RadioButton
               id='MyRadioButton1'
               runat='server'
               OnInit='MyRadioButton_Init'
               OnLoad='MyRadioButton_Load'
               OnPreRender='MyRadioButton_PreRender'
               OnCheckedChanged='MyRadioButton_CheckedChanged'
               AutoPostBack='false'
               Visible='true'
               Enabled='true'
               ToolTip='RadioButton ToolTip'
               GroupName='MyRadioGroup'
               Text='ASP RadioButton'
               TextAlign='Right'/>
            <br/>

            <asp:RadioButton
               id='MyRadioButton2'
               runat='server'
               OnCheckedChanged='MyRadioButton_CheckedChanged'
               AutoPostBack='false'
               Visible='true'
               Enabled='true'
               ToolTip='RadioButton ToolTip'
               GroupName='MyRadioGroup'
               Text='ASP RadioButton'
               TextAlign='Right'/>
         </p>

         <!-- ************************************************************************
         *  asp:CheckBoxList                                                         *
         ************************************************************************* -->
         <p style='border:solid 1px'>
            <asp:CheckBoxList
               id='MyCheckBoxList'
               runat='server'
               OnInit='MyCheckBoxList_Init'
               OnLoad='MyCheckBoxList_Load'
               OnPreRender='MyCheckBoxList_PreRender'
               OnSelectedIndexChanged='MyCheckBoxList_SelectedIndexChanged'
               CausesValidation='true'
               ValidationGroup=''
               AutoPostBack='true'
               Visible='true'
               Enabled='true'
               CellPadding='5'
               CellSpacing='10'
               RepeatColumns='3'
               RepeatDirection='Horizontal'
               RepeatLayout='Table'
               AppendDataBoundItems='true'
               ToolTip='CheckBox ToolTip'
               TextAlign='Left'>
               <asp:ListItem Text='Item 1' Value='1' Enabled='true' Selected='false'/>
               <asp:ListItem Text='Item 2' Value='2' Enabled='true' Selected='true'/>
               <asp:ListItem Text='Item 3' Value='3' Enabled='true' Selected='false'/>
            </asp:CheckBoxList>
         </p>

         <!-- ************************************************************************
         *  asp:RadioButtonList                                                      *
         ************************************************************************* -->
         <p style='border:solid 1px'>
            <asp:RadioButtonList
               id='MyRadioButtonList'
               runat='server'
               OnInit='MyRadioButtonList_Init'
               OnLoad='MyRadioButtonList_Load'
               OnPreRender='MyRadioButtonList_PreRender'
               OnSelectedIndexChanged='MyRadioButtonList_SelectedIndexChanged'
               CausesValidation='true'
               ValidationGroup=''
               AutoPostBack='true'
               Visible='true'
               Enabled='true'
               CellPadding='5'
               CellSpacing='10'
               RepeatColumns='3'
               RepeatDirection='Horizontal'
               RepeatLayout='Table'
               AppendDataBoundItems='true'
               ToolTip='RadioButton ToolTip'
               TextAlign='Left'>
               <asp:ListItem Text='Item 1' Value='1' Enabled='true' Selected='false'/>
               <asp:ListItem Text='Item 2' Value='2' Enabled='true' Selected='true'/>
               <asp:ListItem Text='Item 3' Value='3' Enabled='true' Selected='false'/>
            </asp:RadioButtonList>
         </p>

         <!-- ************************************************************************
         *  asp:DropDownList                                                         *
         ************************************************************************* -->
         <p style='border:solid 1px'>
            <asp:DropDownList
               id='MyDropDownList'
               runat='server'
               OnInit='MyDropDownList_Init'
               OnLoad='MyDropDownList_Load'
               OnPreRender='MyDropDownList_PreRender'
               OnSelectedIndexChanged='MyDropDownList_SelectedIndexChanged'
               CausesValidation='true'
               ValidationGroup=''
               AutoPostBack='true'
               Visible='true'
               Enabled='true'
               AppendDataBoundItems='true'
               ToolTip='DropDownList ToolTip'
               TextAlign='Left'>
               <asp:ListItem Text='Item 1' Value='1' Enabled='true' Selected='false'/>
               <asp:ListItem Text='Item 2' Value='2' Enabled='true' Selected='true'/>
               <asp:ListItem Text='Item 3' Value='3' Enabled='true' Selected='false'/>
            </asp:DropDownList>
         </p>

         <!-- ************************************************************************
         *  asp:ListBox                                                              *
         ************************************************************************* -->
         <p style='border:solid 1px'>
            <asp:ListBox
               id='MyListBox'
               runat='server'
               OnInit='MyListBox_Init'
               OnLoad='MyListBox_Load'
               OnPreRender='MyListBox_PreRender'
               OnSelectedIndexChanged='MyListBox_SelectedIndexChanged'
               CausesValidation='true'
               ValidationGroup=''
               AutoPostBack='true'
               Visible='true'
               Enabled='true'
               AppendDataBoundItems='true'
               SelectionMode='Multiple'
               ToolTip='ListBox ToolTip'
               TextAlign='Left'>
               <asp:ListItem Text='Item 1' Value='1' Enabled='true' Selected='false'/>
               <asp:ListItem Text='Item 2' Value='2' Enabled='true' Selected='true'/>
               <asp:ListItem Text='Item 3' Value='3' Enabled='true' Selected='false'/>
            </asp:ListBox>
         </p>

         <!-- ************************************************************************
         *  asp:BulletedList                                                         *
         ************************************************************************* -->
         <p style='border:solid 1px'>
            <asp:BulletedList
               id='MyBulletedList'
               runat='server'
               OnInit='MyBulletedList_Init'
               OnLoad='MyBulletedList_Load'
               OnPreRender='MyBulletedList_PreRender'
               OnClick='MyBulletedList_Click'
               CausesValidation='true'
               ValidationGroup=''
               Visible='true'
               Enabled='true'
               AppendDataBoundItems='true'
               DisplayMode='LinkButton'
               Target='_blank'
               ToolTip='BulletedList ToolTip'
               TextAlign='Left'>
               <asp:ListItem Text='Item 1' Value='1' Enabled='true' Selected='false'/>
               <asp:ListItem Text='Item 2' Value='2' Enabled='true' Selected='true'/>
               <asp:ListItem Text='Item 3' Value='3' Enabled='true' Selected='false'/>
            </asp:BulletedList>
            <!-- DisplayMode: Text|HyperLink|LinkButton
                  Text does not post click event
                  HyperLink should have url as values  -->
         </p>

         <!-- ************************************************************************
         *  asp:Table                                                                *
         ************************************************************************* -->
         <p style='border:solid 1px'>
            <asp:Table
               id='MyTable'
               runat='server'
               OnInit='MyTable_Init'
               OnLoad='MyTable_Load'
               OnPreRender='MyTable_PreRender'
               OnUnload='MyTable_Unload'
               Enabled='true'
               Visible='true'
               Width='10%'
               CellPadding='10'
               GridLines='Both'
               HorizontalAlign='Left'
               BackImageUrl=''
               Caption='Table Caption'
               ToolTip='Table ToolTip'>
               <asp:TableHeaderRow
                  id='MyTableHeaderRow'
                  runat='server'
                  OnInit='MyTableHeaderRow_Init'
                  OnLoad='MyTableHeaderRow_Load'
                  OnPreRender='MyTableHeaderRow_PreRender'
                  OnUnload='MyTableHeaderRow_Unload'
                  Enabled='true'
                  Visible='true'
                  HorizontalAlign='Center'
                  VerticalAlign='Middle'
                  TableSection='TableHeader'>
                  <asp:TableHeaderCell
                     id='MyTableHeaderCell'
                     runat='server'
                     OnInit='MyTableHeaderCell_Init'
                     OnLoad='MyTableHeaderCell_Load'
                     OnPreRender='MyTableHeaderCell_PreRender'
                     OnUnload='MyTableHeaderCell_Unload'
                     Enabled='true'
                     Visible='true'
                     ColumnSpan='1'
                     RowSpan='1'
                     HorizontalAlign='Center'
                     VerticalAlign='Middle'
                     Width='50%'
                     Wrap='true'
                     Text='A'/>
                  <asp:TableHeaderCell>
                     B
                  </asp:TableHeaderCell>
               </asp:TableHeaderRow>
               <asp:TableRow
                  id='MyTableRow'
                  runat='server'
                  OnInit='MyTableRow_Init'
                  OnLoad='MyTableRow_Load'
                  OnPreRender='MyTableRow_PreRender'
                  OnUnload='MyTableRow_Unload'
                  Enabled='true'
                  Visible='true'
                  HorizontalAlign='Center'
                  VerticalAlign='Middle'
                  TableSection='TableBody'>
                  <asp:TableCell
                     id='MyTableCell'
                     runat='server'
                     OnInit='MyTableCell_Init'
                     OnLoad='MyTableCell_Load'
                     OnPreRender='MyTableCell_PreRender'
                     OnUnload='MyTableCell_Unload'
                     Enabled='true'
                     Visible='true'
                     ColumnSpan='1'
                     RowSpan='1'
                     HorizontalAlign='Center'
                     VerticalAlign='Middle'
                     Width='50%'
                     Wrap='true'
                     Text='1A'/>
                  <asp:TableCell>
                     1B
                  </asp:TableCell>
               </asp:TableRow>
            </asp:Table>
         </p>

         <!-- ************************************************************************
         *  asp:Panel                                                                *
         ************************************************************************* -->
         <p style='border:solid 1px'>
            <asp:Panel
               id='MyPanel'
               runat='server'
               OnInit='MyPanel_Init'
               OnLoad='MyPanel_Load'
               OnPreRender='MyPanel_PreRender'
               OnUnload='MyPanel_Unload'
               Visible='true'
               Enabled='true'
               BackImageUrl=''
               Direction='NotSet'
               HorizontalAlign='Center'
               ScrollBars='Auto'
               GroupingText='Wine & Dine'
               Wrap='true'
               ToolTip='Panel Grouping Text'
               Height='150'
               Width='150'>
               <p>Hello Panel</p>
            </asp:Panel>
         </p>

         <!-- ************************************************************************
         *  asp:Image                                                                *
         ************************************************************************* -->
         <p style='border:solid 1px'>
            <asp:Image
               id='MyImage'
               runat='server'
               OnInit='MyImage_Init'
               OnLoad='MyImage_Load'
               OnPreRender='MyImage_PreRender'
               OnUnload='MyImage_Unload'
               Visible='true'
               Enabled='true'
               AlternateText='Image Alternate Text'
               ImageUrl='images/go.gif'
               ImageAlign='NotSet'
               Height='30'
               Width='78'/>
            <!-- ImageAlign:  NotSet|AbsBottom|AbsMiddle|Top|Bottom|Baseline|Middle|TextTop|Left|Right -->
         </p>

         <!-- ************************************************************************
         *  asp:ImageMap                                                             *
         ************************************************************************* -->
         <p style='border:solid 1px'>
            <asp:ImageMap
               id='MyImageMap'
               runat='server'
               OnInit='MyImageMap_Init'
               OnLoad='MyImageMap_Load'
               OnPreRender='MyImageMap_PreRender'
               OnUnload='MyImageMap_Unload'
               OnClick='MyImageMap_Click'
               Visible='true'
               Enabled='true'
               AlternateText='ImageMap Alternate Text'
               GenerateEmptyAlternateText='false'
               HotSpotMode='PostBack'
               ImageUrl='images/go.gif'
               ImageAlign='NotSet'
               Height='30'
               Width='78'>
               <asp:RectangleHotSpot
                  runat='server'
                  NavigateUrl=''
                  Target='_self'
                  AlternateText='RectangleHotSpot Alternate Text'
                  PostBackValue='RectangleHotSpotValue'
                  HotSpotMode='PostBack'
                  Left='0'
                  Right='10'
                  Top='0'
                  Bottom='20'/>
               <asp:CircleHotSpot
                  runat='server'
                  NavigateUrl=''
                  Target='_self'
                  AlternateText='CircleHotSpot Alternate Text'
                  PostBackValue='CircleHotSpotValue'
                  HotSpotMode='PostBack'
                  x='30'
                  y='15'
                  radius='5'/>
               <asp:PolygonHotSpot
                  runat='server'
                  NavigateUrl=''
                  Target='_self'
                  AlternateText='PolygonHotSpot Alternate Text'
                  PostBackValue='PolygonHotSpotValue'
                  HotSpotMode='PostBack'
                  Coordinates='10,10, 30,10, 30,30, 10,30'/>
            </asp:ImageMap>
            <!-- HotSpotMode: Inactive|Navigate|NotSet|PostBack -->
         </p>

         <!-- ************************************************************************
         *  asp:MultiView                                                            *
         ************************************************************************* -->
         <p style='border:solid 1px'>
            <asp:MultiView
               id='MyMultiView'
               runat='server'
               OnInit='MyMultiView_Init'
               OnLoad='MyMultiView_Load'
               OnPreRender='MyMultiView_PreRender'
               OnUnload='MyMultiView_Unload'
               OnActiveViewChanged='MyMultiView_ActiveViewChanged'
               Visible='true'
               ActiveViewIndex='0'>
               <asp:View
                  id='MyView0'
                  runat='server'
                  OnActivate='MyView_Activate'
                  OnDeactivate='MyView_Deactivate'>
                  Hello View 0<br>
                  <asp:Button
                     runat='Server'
                     OnCommand='MyMultiViewSwitch_Command'
                     CommandName='Switch'
                     CommandArgument='0'
                     Enabled='false'
                     Text='Go To Previous'/>
                  <asp:Button
                     runat='Server'
                     OnCommand='MyMultiViewSwitch_Command'
                     CommandName='Switch'
                     CommandArgument='1'
                     Enabled='true'
                     Text='Go To Next'/>
               </asp:View>
               <asp:View
                  id='MyView1'
                  runat='server'
                  OnActivate='MyView_Activate'
                  OnDeactivate='MyView_Deactivate'>
                  Hello View 1<br>
                  <asp:Button
                     runat='Server'
                     OnCommand='MyMultiViewSwitch_Command'
                     CommandName='Switch'
                     CommandArgument='0'
                     Enabled='true'
                     Text='Go To Previous'/>
                  <asp:Button
                     runat='Server'
                     OnCommand='MyMultiViewSwitch_Command'
                     CommandName='Switch'
                     CommandArgument='2'
                     Enabled='true'
                     Text='Go To Next'/>
               </asp:View>
               <asp:View
                  id='MyView2'
                  runat='server'
                  OnActivate='MyView_Activate'
                  OnDeactivate='MyView_Deactivate'>
                  Hello View 2<br>
                  <asp:Button
                     runat='Server'
                     OnCommand='MyMultiViewSwitch_Command'
                     CommandName='Switch'
                     CommandArgument='1'
                     Enabled='true'
                     Text='Go To Previous'/>
                  <asp:Button
                     runat='Server'
                     OnCommand='MyMultiViewSwitch_Command'
                     CommandName='Switch'
                     CommandArgument='2'
                     Enabled='false'
                     Text='Go To Next'/>
               </asp:View>
            </asp:MultiView>
         </p>

         <!-- ************************************************************************
         *  asp:Wizard                                                               *
         ************************************************************************* -->
         <p style='border:solid 1px'>
            <asp:Wizard
               id='MyWizard'
               runat='server'
               OnInit='MyWizard_Init'
               OnLoad='MyWizard_Load'
               OnPreRender='MyWizard_PreRender'
               OnUnload='MyWizard_Unload'
               OnActiveStepChanged='MyWizard_ActiveStepChanged'
               OnCancelButtonClick='MyWizard_CancelButtonClick'
               OnFinishButtonClick='MyWizard_FinishButtonClick'
               OnNextButtonClick='MyWizard_NextButtonClick'
               OnPreviousButtonClick='MyWizard_PreviousButtonClick'
               OnSideBarButtonClick='MyWizard_SideBarButtonClick'
               Enabled='true'
               Visible='true'
               CellPadding='5'
               CellSpacing='5'
               NavigationButtonStyle-BackColor='red'
               NavigationButtonStyle-BorderStyle='solid'
               NavigationButtonStyle-Font-Bold='true'
               NavigationButtonStyle-ForeColor='blue'
               SideBarStyle-BackColor='violet'
               SideBarStyle-BorderStyle='dashed'
               SideBarStyle-Font-Bold='true'
               SideBarStyle-ForeColor='green'
               CancelButtonType='Button'
               CancelButtonText='Cancel'
               CancelButtonStyle-BackColor='yellow'
               ActiveStepIndex='0'
               DisplaySideBar='true'
               DisplayCancelButton='true'
               CancelDestinationPageUrl=''
               FinishDestinationPageUrl=''
               HeaderText='Hello Header'>
               <WizardSteps>
                  <asp:WizardStep
                     id='MyWizardStep0'
                     runat='server'
                     AllowReturn='true'
                     Title='Step 0'
                     StepType='Auto'>
                     Hello Wizard 0<br>
                  </asp:WizardStep>
                  <asp:WizardStep
                     id='MyWizardStep1'
                     runat='server'
                     AllowReturn='true'
                     Title='Step 1'
                     StepType='Finish'>
                     Hello Wizard 1<br>
                  </asp:WizardStep>
                  <asp:WizardStep
                     id='MyWizardStep2'
                     runat='server'
                     AllowReturn='true'
                     Title='Step 2'
                     StepType='Complete'>
                     Hello Wizard 2<br>
                  </asp:WizardStep>
               </WizardSteps>
               <HeaderStyle
                  BackColor='gray'
                  BorderColor='black'
                  BorderStyle='solid'
                  BorderWidth='3px'
                  Font-Size='0.9em'
                  ForeColor='blue'
                  HorizontalAlign='center'/>
            </asp:Wizard>
            <!-- StepType: Auto|Complete|Finish|Start|Step -->
         </p>

         <!-- ************************************************************************
         *  asp:FileUpload                                                           *
         ************************************************************************* -->
         <p style='border:solid 1px'>
            <asp:FileUpload
               id='MyFileUpload'
               runat='server'
               OnInit='MyFileUpload_Init'
               OnLoad='MyFileUpload_Load'
               OnPreRender='MyFileUpload_PreRender'
               OnUnload='MyFileUpload_Unload'
               Visible='true'
               Enabled='true'/>
         </p>

         <!-- ************************************************************************
         *  asp:AdRotator                                                            *
         ************************************************************************* -->
         <p style='border:solid 1px'>
            <asp:AdRotator
               id='MyAdRotator'
               runat='server'
               OnInit='MyAdRotator_Init'
               OnLoad='MyAdRotator_Load'
               OnPreRender='MyAdRotator_PreRender'
               OnUnload='MyAdRotator_Unload'
               OnAdCreated='MyAdRotator_AdCreated'
               Target='_self'
               AdvertisementFile='AdRotatorFile.xml'
               Visible='true'
               Enabled='true'/>
         </p>

         <!-- ************************************************************************
         *  asp:Calendar                                                             *
         ************************************************************************* -->
         <p style='border:solid 1px'>
            <asp:Calendar
               id='MyCalendar'
               runat='server'
               OnInit='MyCalendar_Init'
               OnLoad='MyCalendar_Load'
               OnPreRender='MyCalendar_PreRender'
               OnUnload='MyCalendar_Unload'
               OnSelectionChanged='MyCalendar_SelectionChanged'
               OnDayRender='MyCalendar_DayRender'
               OnVisibleMonthChanged='MyCalendar_VisibleMonthChanged'
               Visible='true'
               Enabled='true'
               Caption='My Calendar'
               CaptionAlign='Top'
               CellPadding='5'
               CellSpacing='5'
               DayStyle-BackColor='white'
               DayStyle-ForeColor='black'
               DayNameFormat='Short'
               FirstDayOfWeek='Default'
               NextPrevFormat='CustomText'
               NextMonthText='&gt;'
               PrevMonthText='&lt;'
               SelectedDate='01/16/2006'
               SelectionMode='DayWeekMonth'
               SelectMonthText='&gt;&gt;'
               ShowDayHeader='true'
               ShowGridLines='true'
               ShowNextPrevMonth='true'
               ShowTitle='true'
               TitleFormat='MonthYear'
               VisibleDate='01/16/2006'>
               <DayHeaderStyle
                  Font-Names='Arial'
                  Font-Bold='false'
                  Font-Italic='false'
                  BackColor='white'
                  ForeColor='black'/>
               <SelectedDayStyle
                  Font-Names='Arial'
                  Font-Bold='true'
                  Font-Italic='false'
                  BackColor='gray'
                  ForeColor='blue'/>
               <SelectorStyle
                  Font-Names='Arial'
                  Font-Bold='false'
                  Font-Italic='false'
                  BackColor='silver'
                  ForeColor='black'/>
               <WeekendDayStyle
                  Font-Names='Arial'
                  Font-Bold='false'
                  Font-Italic='false'
                  BackColor='lavenderblush'
                  ForeColor='purple'/>
               <OtherMonthDayStyle
                  Font-Names='Arial'
                  Font-Bold='false'
                  Font-Italic='false'
                  BackColor='lightgray'
                  ForeColor='white'/>
               <TodayDayStyle
                  Font-Names='Arial'
                  Font-Bold='true'
                  Font-Italic='false'
                  BackColor='linen'
                  ForeColor='green'/>
               <NextPrevStyle
                  Font-Names='Arial'
                  Font-Bold='true'
                  Font-Italic='false'
                  BackColor='silver'
                  ForeColor='black'/>
               <TitleStyle
                  Font-Names='Arial'
                  Font-Bold='true'
                  Font-Italic='false'
                  BackColor='silver'
                  ForeColor='black'/>
            </asp:Calendar>
         </p>

         <asp:HiddenField id='MySelectValue' runat='server' Value='T'/>

         <!-- ************************************************************************
         *  asp:SqlDataSource                                                        *
         ************************************************************************* -->
         <asp:SqlDataSource
            id='MySqlDataSource'
            runat='server'
            ConnectionString='Data Source=(local); Initial Catalog=NorthWind; Integrated Security=sspi'
            ConflictDetection='CompareAllValues'
            SelectCommand='SELECT
                              CustomerID   = tab.CustomerID,
                              CompanyName  = tab.CompanyName,
                              ContactName  = tab.ContactName,
                              ContactTitle = tab.ContactTitle,
                              Address      = tab.Address,
                              City         = tab.City,
                              Region       = tab.Region,
                              PostalCode   = tab.PostalCode,
                              Country      = tab.Country,
                              Phone        = tab.Phone,
                              Fax          = tab.Fax
                           FROM Customers tab
                           WHERE (tab.[CustomerID] >= @CustomerID)'
            InsertCommand='INSERT INTO Customers(
                              CustomerID,
                              CompanyName,
                              ContactName,
                              ContactTitle,
                              Address,
                              City,
                              Region,
                              PostalCode,
                              Country,
                              Phone,
                              Fax)
                           VALUES(
                              @CustomerID,
                              @CompanyName,
                              @ContactName,
                              @ContactTitle,
                              @Address,
                              @City,
                              @Region,
                              @PostalCode,
                              @Country,
                              @Phone,
                              @Fax)'
            UpdateCommand='UPDATE Customers
                           SET
                              CustomerID     = @CustomerID,
                              CompanyName    = @CompanyName,
                              ContactName    = @ContactName,
                              ContactTitle   = @ContactTitle,
                              Address        = @Address,
                              City           = @City,
                              Region         = @Region,
                              PostalCode     = @PostalCode,
                              Country        = @Country,
                              Phone          = @Phone,
                              Fax            = @Fax
                           FROM Customers tab
                           WHERE (tab.CustomerID   = @original_CustomerID)
                             AND (tab.CompanyName  = @original_CompanyName)
                             AND (tab.ContactName  = @original_ContactName)
                             AND (tab.ContactTitle = @original_ContactTitle)
                             AND (tab.Address      = @original_Address)
                             AND (tab.City         = @original_City)
                             AND (tab.Region       = @original_Region)
                             AND (tab.PostalCode   = @original_PostalCode)
                             AND (tab.Country      = @original_Country)
                             AND (tab.Phone        = @original_Phone)
                             AND (tab.Fax          = @original_Fax)'
            DeleteCommand='DELETE Customers
                           FROM Customers tab
                           WHERE (tab.CustomerID   = @original_CustomerID)
                             AND (tab.CompanyName  = @original_CompanyName)
                             AND (tab.ContactName  = @original_ContactName)
                             AND (tab.ContactTitle = @original_ContactTitle)
                             AND (tab.Address      = @original_Address)
                             AND (tab.City         = @original_City)
                             AND (tab.Region       = @original_Region)
                             AND (tab.PostalCode   = @original_PostalCode)
                             AND (tab.Country      = @original_Country)
                             AND (tab.Phone        = @original_Phone)
                             AND (tab.Fax          = @original_Fax)'>
            <SelectParameters>
               <asp:ControlParameter Type='String' Name='CustomerID' ControlID='MySelectValue' PropertyName='Value'/>
            </SelectParameters>
            <InsertParameters>
               <asp:Parameter Type='String' Name='CustomerID'/>
               <asp:Parameter Type='String' Name='CompanyName'/>
               <asp:Parameter Type='String' Name='ContactName'/>
               <asp:Parameter Type='String' Name='ContactTitle'/>
               <asp:Parameter Type='String' Name='Address'/>
               <asp:Parameter Type='String' Name='City'/>
               <asp:Parameter Type='String' Name='Region'/>
               <asp:Parameter Type='String' Name='PostalCode'/>
               <asp:Parameter Type='String' Name='Country'/>
               <asp:Parameter Type='String' Name='Phone'/>
               <asp:Parameter Type='String' Name='Fax'/>
            </InsertParameters>
            <UpdateParameters>
               <asp:Parameter Type='String' Name='CompanyName'/>
               <asp:Parameter Type='String' Name='ContactName'/>
               <asp:Parameter Type='String' Name='ContactTitle'/>
               <asp:Parameter Type='String' Name='Address'/>
               <asp:Parameter Type='String' Name='City'/>
               <asp:Parameter Type='String' Name='Region'/>
               <asp:Parameter Type='String' Name='PostalCode'/>
               <asp:Parameter Type='String' Name='Country'/>
               <asp:Parameter Type='String' Name='Phone'/>
               <asp:Parameter Type='String' Name='Fax'/>
               <asp:Parameter Type='String' Name='original_CustomerID'/>
               <asp:Parameter Type='String' Name='original_CompanyName'/>
               <asp:Parameter Type='String' Name='original_ContactName'/>
               <asp:Parameter Type='String' Name='original_ContactTitle'/>
               <asp:Parameter Type='String' Name='original_Address'/>
               <asp:Parameter Type='String' Name='original_City'/>
               <asp:Parameter Type='String' Name='original_Region'/>
               <asp:Parameter Type='String' Name='original_PostalCode'/>
               <asp:Parameter Type='String' Name='original_Country'/>
               <asp:Parameter Type='String' Name='original_Phone'/>
               <asp:Parameter Type='String' Name='original_Fax'/>
            </UpdateParameters>
            <DeleteParameters>
               <asp:Parameter Type='String' Name='original_CustomerID'/>
               <asp:Parameter Type='String' Name='original_CompanyName'/>
               <asp:Parameter Type='String' Name='original_ContactName'/>
               <asp:Parameter Type='String' Name='original_ContactTitle'/>
               <asp:Parameter Type='String' Name='original_Address'/>
               <asp:Parameter Type='String' Name='original_City'/>
               <asp:Parameter Type='String' Name='original_Region'/>
               <asp:Parameter Type='String' Name='original_PostalCode'/>
               <asp:Parameter Type='String' Name='original_Country'/>
               <asp:Parameter Type='String' Name='original_Phone'/>
               <asp:Parameter Type='String' Name='original_Fax'/>
            </DeleteParameters>
         </asp:SqlDataSource>
         <!-- Type: Boolean|Byte|Char|DateTime|DBNull|Decimal|Double|Empty|Int16|Int32|Int64|
                    Object|SByte|Single|String|UInt16|UInt32|UInt64 -->

         <!-- ************************************************************************
         *  asp:GridView                                                             *
         ************************************************************************* -->
         <p style='border:solid 1px'>
            <asp:GridView
               id='MyGridView'
               runat='server'
               OnInit='MyGridView_Init'
               OnLoad='MyGridView_Load'
               OnPreRender='MyGridView_PreRender'
               OnUnload='MyGridView_Unload'
               OnDataBinding='MyGridView_DataBinding'
               OnDataBound='MyGridView_DataBound'
               OnPageIndexChanged='MyGridView_PageIndexChanged'
               OnPageIndexChanging='MyGridView_PageIndexChanging'
               OnRowCancelingEdit='MyGridView_RowCancelingEdit'
               OnRowCommand='MyGridView_RowCommand'
               OnRowCreated='MyGridView_RowCreated'
               OnRowDataBound='MyGridView_RowDataBound'
               OnRowDeleted='MyGridView_RowDeleted'
               OnRowDeleting='MyGridView_RowDeleting'
               OnRowEditing='MyGridView_RowEditing'
               OnRowUpdated='MyGridView_RowUpdated'
               OnRowUpdating='MyGridView_RowUpdating'
               OnSelectedIndexChanged='MyGridView_SelectedIndexChanged'
               OnSelectedIndexChanging='MyGridView_SelectedIndexChanging'
               OnSorted='MyGridView_Sorted'
               OnSorting='MyGridView_Sorting'
               DataSourceID='MySqlDataSource'
               AutoGenerateColumns='false'
               AutoGenerateSelectButton='true'
               AutoGenerateEditButton='true'
               AutoGenerateDeleteButton='true'
               AllowPaging='true'
               AllowSorting='true'
               PageSize='4'
               EmptyDataText='No Rows'
               Caption='Grid View'
               CaptionAlign='Top'
               HorizontalAlign='NotSet'
               CellPadding='5'
               CellSpacing='5'
               GridLines='both'
               DataKeyNames='CustomerID'
               Font-Name='Comic Sans MS'
               Font-Size='13pt'
               BackColor='Khaki'
               AlternatingRowStyle-BackColor='Tan'
               HeaderStyle-BackColor='SaddleBrown'
               HeaderStyle-ForeColor='White'
               HeaderStyle-Font-Bold='true'>
               <Columns>
                  <asp:BoundField
                     ReadOnly='true'
                     HeaderText='CustomerID'
                     DataField='CustomerID'
                     SortExpression='CustomerID'/>
                  <asp:BoundField
                     ReadOnly='false'
                     HeaderText='CompanyName'
                     DataField='CompanyName'
                     SortExpression='CompanyName'/>
                  <asp:BoundField
                     ReadOnly='false'
                     HeaderText='ContactName'
                     DataField='ContactName'
                     SortExpression='ContactName'/>
                  <asp:BoundField
                     ReadOnly='false'
                     HeaderText='ContactTitle'
                     DataField='ContactTitle'
                     SortExpression='ContactTitle'/>
                  <asp:BoundField
                     ReadOnly='false'
                     HeaderText='Address'
                     DataField='Address'
                     SortExpression='Address'/>
                  <asp:BoundField
                     ReadOnly='false'
                     HeaderText='City'
                     DataField='City'
                     SortExpression='City'/>
                  <asp:BoundField
                     ReadOnly='false'
                     HeaderText='Region'
                     DataField='Region'
                     SortExpression='Region'/>
                  <asp:BoundField
                     ReadOnly='false'
                     HeaderText='PostalCode'
                     DataField='PostalCode'
                     SortExpression='PostalCode'/>
                  <asp:BoundField
                     ReadOnly='false'
                     HeaderText='Country'
                     DataField='Country'
                     SortExpression='Country'/>
                  <asp:BoundField
                     ReadOnly='false'
                     HeaderText='Phone'
                     DataField='Phone'
                     SortExpression='Phone'/>
                  <asp:BoundField
                     ReadOnly='false'
                     HeaderText='Fax'
                     DataField='Fax'
                     SortExpression='Fax'/>
               </Columns>
            </asp:GridView>
            <!-- BoundField|ButtonField|CheckBoxField|CommandField|HyperLinkField|ImageField|TemplateField -->
         </p>

         <!-- ************************************************************************
         *  asp:DataList                                                             *
         ************************************************************************* -->
         <p style='border:solid 1px'>
            <asp:DataList
               id='MyDataList'
               runat='server'
               OnInit='MyDataList_Init'
               OnLoad='MyDataList_Load'
               OnPreRender='MyDataList_PreRender'
               OnUnload='MyDataList_Unload'
               OnEditCommand='MyDataList_EditCommand'
               OnCancelCommand='MyDataList_CancelCommand'
               OnUpdateCommand='MyDataList_UpdateCommand'
               OnDeleteCommand='MyDataList_DeleteCommand'
               OnDataBinding='MyDataList_DataBinding'
               OnItemCommand='MyDataList_ItemCommand'
               OnItemCreated='MyDataList_ItemCreated'
               OnItemDataBound='MyDataList_ItemDataBound'
               OnSelectedIndexChanged='MyDataList_SelectedIndexChanged'
               Caption='My DataList'
               CaptionAlign='Top'
               DataKeyField='CustomerID'
               DataSourceID='MySqlDataSource'
               RepeatColumns='3'
               RepeatDirection='Horizontal'
               RepeatLayout='Table'
               CellPadding='5'
               CellSpacing='5'
               HorizontalAlign='NotSet'
               GridLines='both'
               ShowHeader='true'
               ShowFooter='true'
               Font-Name='Comic Sans MS'
               Font-Size='13pt'
               BackColor='Khaki'
               HeaderStyle-BackColor='SaddleBrown'
               HeaderStyle-ForeColor='White'
               HeaderStyle-Font-Bold='true'>
               <ItemTemplate>
                  CustomerID:   <asp:Label runat='server' Text='<%# Eval("CustomerID")   %>'/><br/>
                  CompanyName:  <asp:Label runat='server' Text='<%# Eval("CompanyName")  %>'/><br/>
                  ContactName:  <asp:Label runat='server' Text='<%# Eval("ContactName")  %>'/><br/>
                  ContactTitle: <asp:Label runat='server' Text='<%# Eval("ContactTitle") %>'/><br/>
                  Address:      <asp:Label runat='server' Text='<%# Eval("Address")      %>'/><br/>
                  City:         <asp:Label runat='server' Text='<%# Eval("City")         %>'/><br/>
                  Region:       <asp:Label runat='server' Text='<%# Eval("Region")       %>'/><br/>
                  PostalCode:   <asp:Label runat='server' Text='<%# Eval("PostalCode")   %>'/><br/>
                  Country:      <asp:Label runat='server' Text='<%# Eval("Country")      %>'/><br/>
                  Phone:        <asp:Label runat='server' Text='<%# Eval("Phone")        %>'/><br/>
                  Fax:          <asp:Label runat='server' Text='<%# Eval("Fax")          %>'/><br/><br/>
                  <asp:Button runat='server' CommandName='edit'   Text='Edit'/>
                  <asp:Button runat='server' CommandName='delete' Text='Delete'/>
               </ItemTemplate>
               <EditItemTemplate>
                  CustomerID:   <asp:TextBox runat='server' Text='<%# Eval("CustomerID")  %>'/><br/>
                  CompanyName:  <asp:TextBox runat='server' Text='<%# Eval("CompanyName") %>'/><br/>
                  ContactName:  <asp:TextBox runat='server' Text='<%# Eval("ContactName") %>'/><br/>
                  ContactTitle: <asp:TextBox runat='server' Text='<%# Eval("ContactTitle")%>'/><br/>
                  Address:      <asp:TextBox runat='server' Text='<%# Eval("Address")     %>'/><br/>
                  City:         <asp:TextBox runat='server' Text='<%# Eval("City")        %>'/><br/>
                  Region:       <asp:TextBox runat='server' Text='<%# Eval("Region")      %>'/><br/>
                  PostalCode:   <asp:TextBox runat='server' Text='<%# Eval("PostalCode")  %>'/><br/>
                  Country:      <asp:TextBox runat='server' Text='<%# Eval("Country")     %>'/><br/>
                  Phone:        <asp:TextBox runat='server' Text='<%# Eval("Phone")       %>'/><br/>
                  Fax:          <asp:TextBox runat='server' Text='<%# Eval("Fax")         %>'/><br/><br/>
                  <asp:Button runat='server' CommandName='update' Text='Save'/>
                  <asp:Button runat='server' CommandName='cancel' Text='Cancel'/>
               </EditItemTemplate>
               <FooterStyle
                  BackColor='lightblue'
                  Font-Bold='true'
                  ForeColor='White'/>
               <SelectedItemStyle
                  BackColor='blue'
                  Font-Bold='true'
                  ForeColor='linen'/>
               <AlternatingItemStyle
                  BackColor='White'/>
               <ItemStyle
                  BackColor='lightgray'/>
               <HeaderStyle
                  BackColor='lightblue'
                  Font-Bold='true'
                  ForeColor='White'/>
            </asp:DataList>
         </p>

         <!-- ************************************************************************
         *  asp:Repeater                                                             *
         ************************************************************************* -->
         <p style='border:solid 1px'>
            <asp:Repeater
               id='MyRepeater'
               runat='server'
               OnInit='MyRepeater_Init'
               OnLoad='MyRepeater_Load'
               OnPreRender='MyRepeater_PreRender'
               OnUnload='MyRepeater_Unload'
               OnDataBinding='MyRepeater_DataBinding'
               OnItemCommand='MyRepeater_ItemCommand'
               OnItemCreated='MyRepeater_ItemCreated'
               OnItemDataBound='MyRepeater_ItemDataBound'
               DataSourceID='MySqlDataSource'>
               <ItemTemplate>
                  <p>
                     CustomerID:   <asp:Label id='CustomerIDLabel'   runat='server' Text='<%# Eval("CustomerID")   %>'/><br/>
                     CompanyName:  <asp:Label id='CompanyNameLabel'  runat='server' Text='<%# Eval("CompanyName")  %>'/><br/>
                     ContactName:  <asp:Label id='ContactNameLabel'  runat='server' Text='<%# Eval("ContactName")  %>'/><br/>
                     ContactTitle: <asp:Label id='ContactTitleLabel' runat='server' Text='<%# Eval("ContactTitle") %>'/><br/>
                     Address:      <asp:Label id='AddressLabel'      runat='server' Text='<%# Eval("Address")      %>'/><br/>
                     City:         <asp:Label id='CityLabel'         runat='server' Text='<%# Eval("City")         %>'/><br/>
                     Region:       <asp:Label id='RegionLabel'       runat='server' Text='<%# Eval("Region")       %>'/><br/>
                     PostalCode:   <asp:Label id='PostalCodeLabel'   runat='server' Text='<%# Eval("PostalCode")   %>'/><br/>
                     Country:      <asp:Label id='CountryLabel'      runat='server' Text='<%# Eval("Country")      %>'/><br/>
                     Phone:        <asp:Label id='PhoneLabel'        runat='server' Text='<%# Eval("Phone")        %>'/><br/>
                     Fax:          <asp:Label id='FaxLabel'          runat='server' Text='<%# Eval("Fax")          %>'/><br/><br/>
                     <asp:Button runat='server' CommandName='edit'   Text='Edit'/>
                     <asp:Button runat='server' CommandName='delete' Text='Delete'/>
                  </p>
               </ItemTemplate>
            </asp:Repeater>
         </p>

         <!-- ************************************************************************
         *  asp:DetailsView                                                          *
         ************************************************************************* -->
         <p style='border:solid 1px'>
            <asp:DetailsView
               id='MyDetailsView'
               runat='server'
               OnInit='MyDetailsView_Init'
               OnLoad='MyDetailsView_Load'
               OnPreRender='MyDetailsView_PreRender'
               OnUnload='MyDetailsView_Unload'
               OnDataBinding='MyDetailsView_DataBinding'
               OnDataBound='MyDetailsView_DataBound'
               OnPageIndexChanged='MyDetailsView_PageIndexChanged'
               OnPageIndexChanging='MyDetailsView_PageIndexChanging'
               DataSourceID='MySqlDataSource'
               AutoGenerateRows='false'
               AutoGenerateInsertButton='true'
               AutoGenerateEditButton='true'
               AutoGenerateDeleteButton='true'
               AllowPaging='true'
               AllowSorting='true'
               EmptyDataText='No Rows'
               Caption='Details View'
               CaptionAlign='Top'
               HorizontalAlign='NotSet'
               CellPadding='5'
               CellSpacing='5'
               GridLines='both'
               DataKeyNames='CustomerID'
               Font-Name='Comic Sans MS'
               Font-Size='13pt'
               BackColor='Khaki'
               AlternatingRowStyle-BackColor='Tan'
               HeaderStyle-BackColor='SaddleBrown'
               HeaderStyle-ForeColor='White'
               HeaderStyle-Font-Bold='true'>
               <Fields>
                  <asp:BoundField
                     ReadOnly='true'
                     HeaderText='CustomerID'
                     DataField='CustomerID'
                     SortExpression='CustomerID'/>
                  <asp:BoundField
                     ReadOnly='false'
                     HeaderText='CompanyName'
                     DataField='CompanyName'
                     SortExpression='CompanyName'/>
                  <asp:BoundField
                     ReadOnly='false'
                     HeaderText='ContactName'
                     DataField='ContactName'
                     SortExpression='ContactName'/>
                  <asp:BoundField
                     ReadOnly='false'
                     HeaderText='ContactTitle'
                     DataField='ContactTitle'
                     SortExpression='ContactTitle'/>
                  <asp:BoundField
                     ReadOnly='false'
                     HeaderText='Address'
                     DataField='Address'
                     SortExpression='Address'/>
                  <asp:BoundField
                     ReadOnly='false'
                     HeaderText='City'
                     DataField='City'
                     SortExpression='City'/>
                  <asp:BoundField
                     ReadOnly='false'
                     HeaderText='Region'
                     DataField='Region'
                     SortExpression='Region'/>
                  <asp:BoundField
                     ReadOnly='false'
                     HeaderText='PostalCode'
                     DataField='PostalCode'
                     SortExpression='PostalCode'/>
                  <asp:BoundField
                     ReadOnly='false'
                     HeaderText='Country'
                     DataField='Country'
                     SortExpression='Country'/>
                  <asp:BoundField
                     ReadOnly='false'
                     HeaderText='Phone'
                     DataField='Phone'
                     SortExpression='Phone'/>
                  <asp:BoundField
                     ReadOnly='false'
                     HeaderText='Fax'
                     DataField='Fax'
                     SortExpression='Fax'/>
               </Fields>
            </asp:DetailsView>
         </p>

         <!-- ************************************************************************
         *  asp:FormView                                                             *
         ************************************************************************* -->
         <p style='border:solid 1px'>
            <asp:FormView
               id='MyFormView'
               runat='server'
               OnInit='MyFormView_Init'
               OnLoad='MyFormView_Load'
               OnPreRender='MyFormView_PreRender'
               OnUnload='MyFormView_Unload'
               OnDataBinding='MyFormView_DataBinding'
               OnDataBound='MyFormView_DataBound'
               OnPageIndexChanged='MyFormView_PageIndexChanged'
               OnPageIndexChanging='MyFormView_PageIndexChanging'
               DataSourceID='MySqlDataSource'
               AllowPaging='true'
               EmptyDataText='No Rows'
               Caption='Form View'
               CaptionAlign='Top'
               HorizontalAlign='NotSet'
               CellPadding='5'
               CellSpacing='5'
               GridLines='both'
               DataKeyNames='CustomerID'
               Font-Name='Comic Sans MS'
               Font-Size='13pt'
               BackColor='Khaki'
               HeaderStyle-BackColor='SaddleBrown'
               HeaderStyle-ForeColor='White'
               HeaderStyle-Font-Bold='true'>
               <ItemTemplate>
                  CustomerID:   <asp:Label runat='server' Text='<%# Eval("CustomerID")   %>'/><br/>
                  CompanyName:  <asp:Label runat='server' Text='<%# Eval("CompanyName")  %>'/><br/>
                  ContactName:  <asp:Label runat='server' Text='<%# Eval("ContactName")  %>'/><br/>
                  ContactTitle: <asp:Label runat='server' Text='<%# Eval("ContactTitle") %>'/><br/>
                  Address:      <asp:Label runat='server' Text='<%# Eval("Address")      %>'/><br/>
                  City:         <asp:Label runat='server' Text='<%# Eval("City")         %>'/><br/>
                  Region:       <asp:Label runat='server' Text='<%# Eval("Region")       %>'/><br/>
                  PostalCode:   <asp:Label runat='server' Text='<%# Eval("PostalCode")   %>'/><br/>
                  Country:      <asp:Label runat='server' Text='<%# Eval("Country")      %>'/><br/>
                  Phone:        <asp:Label runat='server' Text='<%# Eval("Phone")        %>'/><br/>
                  Fax:          <asp:Label runat='server' Text='<%# Eval("Fax")          %>'/><br/><br/>
                  <asp:Button runat='server' CommandName='edit'   Text='Edit'/>
                  <asp:Button runat='server' CommandName='delete' Text='Delete'/>
               </ItemTemplate>
               <EditItemTemplate>
                  CustomerID:   <asp:TextBox runat='server' Text='<%# Eval("CustomerID")  %>'/><br/>
                  CompanyName:  <asp:TextBox runat='server' Text='<%# Eval("CompanyName") %>'/><br/>
                  ContactName:  <asp:TextBox runat='server' Text='<%# Eval("ContactName") %>'/><br/>
                  ContactTitle: <asp:TextBox runat='server' Text='<%# Eval("ContactTitle")%>'/><br/>
                  Address:      <asp:TextBox runat='server' Text='<%# Eval("Address")     %>'/><br/>
                  City:         <asp:TextBox runat='server' Text='<%# Eval("City")        %>'/><br/>
                  Region:       <asp:TextBox runat='server' Text='<%# Eval("Region")      %>'/><br/>
                  PostalCode:   <asp:TextBox runat='server' Text='<%# Eval("PostalCode")  %>'/><br/>
                  Country:      <asp:TextBox runat='server' Text='<%# Eval("Country")     %>'/><br/>
                  Phone:        <asp:TextBox runat='server' Text='<%# Eval("Phone")       %>'/><br/>
                  Fax:          <asp:TextBox runat='server' Text='<%# Eval("Fax")         %>'/><br/><br/>
                  <asp:Button runat='server' CommandName='update' Text='Save'/>
                  <asp:Button runat='server' CommandName='cancel' Text='Cancel'/>
               </EditItemTemplate>
               <FooterStyle
                  BackColor='lightblue'
                  Font-Bold='true'
                  ForeColor='White'/>
               <HeaderStyle
                  BackColor='lightblue'
                  Font-Bold='true'
                  ForeColor='White'/>
            </asp:FormView>
         </p>

         <p style='border:solid 1px'>
            <asp:TextBox
               id='MyRequired'
               runat='server'
               CausesValidation='true'
               ValidationGroup=''
               AutoPostBack='true'
               Columns='50'
               MaxLength='80'
               Text='14'/>
            <asp:Button
               runat='server'
               CausesValidation='true'
               Text='Submit'/>
            <br/>

            <!-- ************************************************************************
            *  asp:RequiredFieldValidator                                               *
            ************************************************************************* -->
            <asp:RequiredFieldValidator
               id='MyRequiredFieldValidator'
               runat='server'
               OnInit='MyRequiredFieldValidator_Init'
               OnLoad='MyRequiredFieldValidator_Load'
               OnPreRender='MyRequiredFieldValidator_PreRender'
               OnUnload='MyRequiredFieldValidator_Unload'
               ControlToValidate='MyRequired'
               ValidationGroup=''
               EnableClientScript='true'
               SetFocusOnError='true'
               Display='Dynamic'
               InitialValue=''
               Width='100%'
               ErrorMessage='Please choose a value'
               Text='Please choose a value'/>
            <!-- Display: Dynamic|Static|None -->

            <!-- ************************************************************************
            *  asp:CompareValidator                                                     *
            ************************************************************************* -->
            <asp:CompareValidator
               id='MyCompareValidator'
               runat='server'
               OnInit='MyCompareValidator_Init'
               OnLoad='MyCompareValidator_Load'
               OnPreRender='MyCompareValidator_PreRender'
               OnUnload='MyCompareValidator_Unload'
               ControlToValidate='MyRequired'
               ValidationGroup=''
               EnableClientScript='true'
               SetFocusOnError='true'
               Display='Dynamic'
               Type='Integer'
               Operator='GreaterThan'
               ValueToCompare='0'
               Width='100%'
               ErrorMessage='Invalid number'
               Text='Invalid number'/>
            <!-- Type: String|Integer|Double|Date|Currency -->
            <!-- Operator: Equal|NotEqual|GreaterThan|GreaterThanEqual|LessThan|LessThanEqual|DataTypeCheck -->

            <asp:CompareValidator
               runat='server'
               ControlToValidate='MyRequired'
               ValidationGroup=''
               EnableClientScript='true'
               SetFocusOnError='true'
               Display='Dynamic'
               Type='Integer'
               Operator='DataTypeCheck'
               ErrorMessage='Invalid type'
               Text='Invalid type'/>

            <asp:CompareValidator
               runat='server'
               ControlToValidate='MyRequired'
               ValidationGroup=''
               EnableClientScript='true'
               SetFocusOnError='true'
               Display='Dynamic'
               Type='String'
               Operator='NotEqual'
               ControlToCompare='MyTextBox'
               ErrorMessage='Values Same'
               Text='Values Same'/>

            <!-- ************************************************************************
            *  asp:RangeValidator                                                       *
            ************************************************************************* -->
            <asp:RangeValidator
               id='MyRangeValidator'
               runat='server'
               OnInit='MyRangeValidator_Init'
               OnLoad='MyRangeValidator_Load'
               OnPreRender='MyRangeValidator_PreRender'
               OnUnload='MyRangeValidator_Unload'
               ControlToValidate='MyRequired'
               ValidationGroup=''
               EnableClientScript='true'
               SetFocusOnError='true'
               Display='Dynamic'
               Type='Integer'
               MinimumValue='1'
               MaximumValue='100'
               Width='100%'
               ErrorMessage='The value must be from 1 to 100'
               Text='The value must be from 1 to 100'/>

            <!-- ************************************************************************
            *  asp:RegularExpressionValidator                                           *
            ************************************************************************* -->
            <asp:RegularExpressionValidator
               id='MyRegularExpressionValidator'
               runat='server'
               OnInit='MyRegularExpressionValidator_Init'
               OnLoad='MyRegularExpressionValidator_Load'
               OnPreRender='MyRegularExpressionValidator_PreRender'
               OnUnload='MyRegularExpressionValidator_Unload'
               ControlToValidate='MyRequired'
               ValidationGroup=''
               EnableClientScript='true'
               SetFocusOnError='true'
               Display='Dynamic'
               Type='Integer'
               ValidationExpression="\d{2}"
               Width='100%'
               ErrorMessage='Invalid format'
               Text='Invalid format'/>

            <!-- ************************************************************************
            *  asp:CustomValidator                                                      *
            ************************************************************************* -->
            <asp:CustomValidator
               id='MyCustomValidator'
               runat='server'
               OnInit='MyCustomValidator_Init'
               OnLoad='MyCustomValidator_Load'
               OnPreRender='MyCustomValidator_PreRender'
               OnUnload='MyCustomValidator_Unload'
               OnServerValidate='MyCustomValidator_ServerValidate'
               ClientValidationFunction='MyCustomValidator_ClientValidationFunction'
               ControlToValidate='MyRequired'
               ValidationGroup=''
               ValidatorEmptyText=''
               EnableClientScript='true'
               SetFocusOnError='true'
               Display='Dynamic'
               Width='100%'
               ErrorMessage='Please enter an even number'
               Text='Please enter an even number'/>

            <!-- ************************************************************************
            *  asp:ValidationSummary                                                    *
            ************************************************************************* -->
            <asp:ValidationSummary
               id='MyValidationSummary'
               runat='server'
               OnInit='MyValidationSummary_Init'
               OnLoad='MyValidationSummary_Load'
               OnPreRender='MyValidationSummary_PreRender'
               OnUnload='MyValidationSummary_Unload'
               DisplayMode='BulletList'
               HeaderText='The follow validation errors were found'
               ShowSummary='true'/>
         </p>

      </form>
   </body>
   <script language='JavaScript' type='text/javascript'>
      document.getElementById("MyHiddenField").value = "JavaScript HiddenField";
      function MyCustomValidator_ClientValidationFunction(source, args) {
         if (args.Value %2 == 0) {
            args.IsValid = true;
         } else {
            args.IsValid = false;
         }
      }
   </script>
</html>

CS Script - Code Behind Form

using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;

namespace Hello {
   public class WebFormHello : System.Web.UI.Page {
      protected System.Web.UI.WebControls.Label MyLabel;
      protected System.Web.UI.WebControls.TextBox MyTextBox;
      protected System.Web.UI.WebControls.TextBox MyTextArea;
      protected System.Web.UI.WebControls.TextBox MyPassword;
      protected System.Web.UI.WebControls.HiddenField MyHiddenField;
      protected System.Web.UI.WebControls.Button MyButton;
      protected System.Web.UI.WebControls.LinkButton MyLinkButton;
      protected System.Web.UI.WebControls.ImageButton MyImageButton;
      protected System.Web.UI.WebControls.HyperLink MyHyperLink;
      protected System.Web.UI.WebControls.CheckBox MyCheckBox;
      protected System.Web.UI.WebControls.RadioButton MyRadioButton1;
      protected System.Web.UI.WebControls.RadioButton MyRadioButton2;
      protected System.Web.UI.WebControls.CheckBoxList MyCheckBoxList;
      protected System.Web.UI.WebControls.RadioButtonList MyRadioButtonList;
      protected System.Web.UI.WebControls.DropDownList MyDropDownList;
      protected System.Web.UI.WebControls.ListBox MyListBox;
      protected System.Web.UI.WebControls.BulletedList MyBulletedList;
      protected System.Web.UI.WebControls.Table MyTable;
      protected System.Web.UI.WebControls.TableHeaderRow MyTableHeaderRow;
      protected System.Web.UI.WebControls.TableHeaderCell MyTableHeaderCell;
      protected System.Web.UI.WebControls.TableRow MyTableRow;
      protected System.Web.UI.WebControls.TableCell MyTableCell;
      protected System.Web.UI.WebControls.Panel MyPanel;
      protected System.Web.UI.WebControls.Image MyImage;
      protected System.Web.UI.WebControls.ImageMap MyImageMap;
      protected System.Web.UI.WebControls.MultiView MyMultiView;
      protected System.Web.UI.WebControls.Wizard MyWizard;
      protected System.Web.UI.WebControls.FileUpload MyFileUpload;
      protected System.Web.UI.WebControls.AdRotator MyAdRotator;
      protected System.Web.UI.WebControls.Calendar MyCalendar;
      protected System.Web.UI.WebControls.SqlDataSource MySqlDataSource;
      protected System.Web.UI.WebControls.GridView MyGridView;
      protected System.Web.UI.WebControls.DataList MyDataList;
      protected System.Web.UI.WebControls.Repeater MyRepeater;
      protected System.Web.UI.WebControls.DetailsView MyDetailsView;
      protected System.Web.UI.WebControls.FormView MyFormView;

      override protected void OnInit(EventArgs e) {
         InitializeComponent();
         base.OnInit(e);
      }

      private void InitializeComponent() {
         // Page level events
         this.Init               += new System.EventHandler(this.Page_Init);
         this.InitComplete       += new System.EventHandler(this.Page_InitComplete);
         this.PreLoad            += new System.EventHandler(this.Page_PreLoad);
         this.Load               += new System.EventHandler(this.Page_Load);
         this.LoadComplete       += new System.EventHandler(this.Page_LoadComplete);
         this.PreRender          += new System.EventHandler(this.Page_PreRender);
         this.PreRenderComplete  += new System.EventHandler(this.Page_PreRenderComplete);
         this.SaveStateComplete  += new System.EventHandler(this.Page_SaveStateComplete);

         this.PreInit            += new System.EventHandler(this.Page_PreInit);
         this.Disposed           += new System.EventHandler(this.Page_Disposed);
         this.CommitTransaction  += new System.EventHandler(this.Page_CommitTransaction);
         this.AbortTransaction   += new System.EventHandler(this.Page_AbortTransaction);
         this.DataBinding        += new System.EventHandler(this.Page_DataBinding);
         this.Error              += new System.EventHandler(this.Page_Error);
         this.Unload             += new System.EventHandler(this.Page_Unload);
      }

      protected void TrackEvent(string s) {
         MyTextArea.Text +=  "\n  " + s;
      }

      /************************************************************************
       * Page Events                                                          *
       ************************************************************************/
      private void Page_Init(object sender, System.EventArgs e) {
         TrackEvent("Page_Init");
      }

      private void Page_InitComplete(object sender, System.EventArgs e) {
         TrackEvent("Page_InitComplete");
      }

      private void Page_PreLoad(object sender, System.EventArgs e) {
         TrackEvent("---------");
         TrackEvent("Page_PreLoad");
      }

      private void Page_Load(object sender, System.EventArgs e) {
         TrackEvent("Page_Load: " + IsPostBack);
      }

      private void Page_LoadComplete(object sender, System.EventArgs e) {
         TrackEvent("Page_LoadComplete");
      }

      private void Page_PreRender(object sender, System.EventArgs e) {
         TrackEvent("Page_PreRender");
      }

      private void Page_PreRenderComplete(object sender, System.EventArgs e) {
         TrackEvent("Page_PreRenderComplete");
      }

      private void Page_SaveStateComplete(object sender, System.EventArgs e) {
         TrackEvent("Page_SaveStateComplete");
      }

      private void Page_PreInit(object sender, System.EventArgs e) {
         TrackEvent("Page_PreInit");
      }

      private void Page_Disposed(object sender, System.EventArgs e) {
         TrackEvent("Page_Disposed");
      }

      private void Page_CommitTransaction(object sender, System.EventArgs e) {
         TrackEvent("Page_CommitTransaction");
      }

      private void Page_AbortTransaction(object sender, System.EventArgs e) {
         TrackEvent("Page_AbortTransaction");
      }

      private void Page_DataBinding(object sender, System.EventArgs e) {
         TrackEvent("Page_DataBinding");
      }

      private void Page_Error(object sender, System.EventArgs e) {
         TrackEvent("Page_Error");
      }

      private void Page_Unload(object sender, System.EventArgs e) {
         TrackEvent("Page_Unload");
      }

      /************************************************************************
       * Label Events                                                         *
       ************************************************************************/
      protected void MyLabel_Init(object sender, System.EventArgs e) {
         TrackEvent("MyLabel_Init");
         MyLabel.Font.Name = "Courier New";
         MyLabel.Font.Size = 10;
         MyLabel.Font.Underline = false;
         MyLabel.Font.Bold = false;
         MyLabel.Font.Italic = false;
         MyLabel.Font.Overline = false;
         MyLabel.Font.Strikeout = false;
      }

      protected void MyLabel_Load(object sender, System.EventArgs e) {
         TrackEvent("MyLabel_Load");
      }

      protected void MyLabel_PreRender(object sender, System.EventArgs e) {
         TrackEvent("MyLabel_PreRender");
      }

      protected void MyLabel_UnLoad(object sender, System.EventArgs e) {
         TrackEvent("MyLabel_UnLoad");
      }

      protected void MyLabel_DataBinding(object sender, System.EventArgs e) {
         TrackEvent("MyLabel_DataBinding");
      }

      /************************************************************************
       * TextBox Events                                                       *
       ************************************************************************/
      protected void MyTextBox_Init(object sender, System.EventArgs e) {
         TrackEvent("MyTextBox_Init");
      }

      protected void MyTextBox_Load(object sender, System.EventArgs e) {
         TrackEvent("MyTextBox_Load");
      }

      protected void MyTextBox_PreRender(object sender, System.EventArgs e) {
         TrackEvent("MyTextBox_PreRender");
      }

      protected void MyTextBox_TextChanged(object sender, System.EventArgs e) {
         TrackEvent("MyTextBox_TextChanged: " + MyTextBox.Text);
      }

      /************************************************************************
       * HiddenField Events                                                   *
       ************************************************************************/
      protected void MyHiddenField_ValueChanged(object sender, System.EventArgs e) {
         TrackEvent("MyHiddenField_ValueChanged: " + MyHiddenField.Value);
      }

      /************************************************************************
       * Button Events                                                        *
       ************************************************************************/
      protected void MyButton_Init(object sender, System.EventArgs e) {
         TrackEvent("MyButton_Init");
      }

      protected void MyButton_Load(object sender, System.EventArgs e) {
         TrackEvent("MyButton_Load");
      }

      protected void MyButton_PreRender(object sender, System.EventArgs e) {
         TrackEvent("MyButton_PreRender");
      }

      protected void MyButton_Click(object sender, System.EventArgs e) {
         TrackEvent("MyButton_Click");
      }

      protected void MyButton_Command(object sender, CommandEventArgs e ) {
         TrackEvent("MyButton_Command: " + e.CommandName + "(" + e.CommandArgument + ")");
      }

      /************************************************************************
       * LinkButton Events                                                    *
       ************************************************************************/
      protected void MyLinkButton_Init(object sender, System.EventArgs e) {
         TrackEvent("MyLinkButton_Init");
      }

      protected void MyLinkButton_Load(object sender, System.EventArgs e) {
         TrackEvent("MyLinkButton_Load");
      }

      protected void MyLinkButton_PreRender(object sender, System.EventArgs e) {
         TrackEvent("MyLinkButton_PreRender");
      }

      protected void MyLinkButton_Click(object sender, System.EventArgs e) {
         TrackEvent("MyLinkButton_Click");
      }

      protected void MyLinkButton_Command(object sender, CommandEventArgs e ) {
         TrackEvent("MyLinkButton_Command: " + e.CommandName + "(" + e.CommandArgument + ")");
      }

      /************************************************************************
       * ImageButton Events                                                   *
       ************************************************************************/
      protected void MyImageButton_Init(object sender, System.EventArgs e) {
         TrackEvent("MyImageButton_Init");
      }

      protected void MyImageButton_Load(object sender, System.EventArgs e) {
         TrackEvent("MyImageButton_Load");
      }

      protected void MyImageButton_PreRender(object sender, System.EventArgs e) {
         TrackEvent("MyImageButton_PreRender");
      }

      protected void MyImageButton_Click(object sender, System.EventArgs e) {
         TrackEvent("MyImageButton_Click");
      }

      protected void MyImageButton_Command(object sender, CommandEventArgs e ) {
         TrackEvent("MyImageButton_Command: " + e.CommandName + "(" + e.CommandArgument + ")");
      }

      /************************************************************************
       * HyperLink Events                                                     *
       ************************************************************************/
      protected void MyHyperLink_Init(object sender, System.EventArgs e) {
         TrackEvent("MyHyperLink_Init");
      }

      protected void MyHyperLink_Load(object sender, System.EventArgs e) {
         TrackEvent("MyHyperLink_Load");
      }

      protected void MyHyperLink_PreRender(object sender, System.EventArgs e) {
         TrackEvent("MyHyperLink_PreRender");
      }

      /************************************************************************
       * CheckBox Events                                                      *
       ************************************************************************/
      protected void MyCheckBox_Init(object sender, System.EventArgs e) {
         TrackEvent("MyCheckBox_Init");
      }

      protected void MyCheckBox_Load(object sender, System.EventArgs e) {
         TrackEvent("MyCheckBox_Load");
      }

      protected void MyCheckBox_PreRender(object sender, System.EventArgs e) {
         TrackEvent("MyCheckBox_PreRender");
      }

      protected void MyCheckBox_CheckedChanged(object sender, System.EventArgs e) {
         TrackEvent("MyCheckBox_CheckedChanged: " + MyCheckBox.Checked);
      }

      /************************************************************************
       * RadioButton Events                                                   *
       ************************************************************************/
      protected void MyRadioButton_Init(object sender, System.EventArgs e) {
         TrackEvent("MyRadioButton_Init");
      }

      protected void MyRadioButton_Load(object sender, System.EventArgs e) {
         TrackEvent("MyRadioButton_Load");
      }

      protected void MyRadioButton_PreRender(object sender, System.EventArgs e) {
         TrackEvent("MyRadioButton_PreRender");
      }

      protected void MyRadioButton_CheckedChanged(object sender, System.EventArgs e) {
         TrackEvent("MyRadioButton_CheckedChanged: " + (MyRadioButton1.Checked?"1":(MyRadioButton2.Checked?"2":"none")));
      }

      /************************************************************************
       * CheckBoxList Events                                                  *
       ************************************************************************/
      protected void MyCheckBoxList_Init(object sender, System.EventArgs e) {
         TrackEvent("MyCheckBoxList_Init");
         // manually add list items
         string[] CBText = { "Item 4", "Item 5", "Item 6" };
         string[] CBCode = { "4", "5", "6" };
         for (int i = 0; i < CBText.Length; i++) {
            MyCheckBoxList.Items.Add(new ListItem(CBText[i], CBCode[i]));
         }
         // datasource add list items
         string[] CBData = { "Item 7", "Item 8", "Item 9" };
         MyCheckBoxList.DataSource = CBData;
         MyCheckBoxList.DataBind();
      }

      protected void MyCheckBoxList_Load(object sender, System.EventArgs e) {
         TrackEvent("MyCheckBoxList_Load");
      }

      protected void MyCheckBoxList_PreRender(object sender, System.EventArgs e) {
         TrackEvent("MyCheckBoxList_PreRender");
      }

      protected void MyCheckBoxList_SelectedIndexChanged(object sender, System.EventArgs e) {
         string s = "";
         foreach (ListItem item in MyListBox.Items) {
            if (item.Selected) {
               s += "X";
            } else {
               s += " ";
            }
         }
         foreach (int i in MyListBox.GetSelectedIndices()) {
            s += MyListBox.Items[i].Value;
         }
         TrackEvent("MyCheckBoxList_SelectedIndexChanged: " + s);
      }

      /************************************************************************
       * RadioButtonList Events                                               *
       ************************************************************************/
      protected void MyRadioButtonList_Init(object sender, System.EventArgs e) {
         TrackEvent("MyRadioButtonList_Init");
         // manually add list items
         string[] RBText = { "Item 4", "Item 5", "Item 6" };
         string[] RBCode = { "4", "5", "6" };
         for (int i = 0; i < RBText.Length; i++) {
            MyRadioButtonList.Items.Add(new ListItem(RBText[i], RBCode[i]));
         }
         // datasource add list items
         string[] RBData = { "Item 7", "Item 8", "Item 9" };
         MyRadioButtonList.DataSource = RBData;
         MyRadioButtonList.DataBind();
      }

      protected void MyRadioButtonList_Load(object sender, System.EventArgs e) {
         TrackEvent("MyRadioButtonList_Load");
      }

      protected void MyRadioButtonList_PreRender(object sender, System.EventArgs e) {
         TrackEvent("MyRadioButtonList_PreRender");
      }

      protected void MyRadioButtonList_SelectedIndexChanged(object sender, System.EventArgs e) {
         TrackEvent("MyRadioButtonList_SelectedIndexChanged: " +
            ((MyRadioButtonList.SelectedIndex == -1)?"none":MyRadioButtonList.SelectedItem.Value));
      }

      /************************************************************************
       * DropDownList Events                                                  *
       ************************************************************************/
      protected void MyDropDownList_Init(object sender, System.EventArgs e) {
         TrackEvent("MyDropDownList_Init");
         // manually add list items
         string[] DDText = { "Item 4", "Item 5", "Item 6" };
         string[] DDCode = { "4", "5", "6" };
         for (int i = 0; i < DDText.Length; i++) {
            MyDropDownList.Items.Add(new ListItem(DDText[i], DDCode[i]));
         }
         // datasource add list items
         string[] DDData = { "Item 7", "Item 8", "Item 9" };
         MyDropDownList.DataSource = DDData;
         MyDropDownList.DataBind();
      }

      protected void MyDropDownList_Load(object sender, System.EventArgs e) {
         TrackEvent("MyDropDownList_Load");
      }

      protected void MyDropDownList_PreRender(object sender, System.EventArgs e) {
         TrackEvent("MyDropDownList_PreRender");
      }

      protected void MyDropDownList_SelectedIndexChanged(object sender, System.EventArgs e) {
         TrackEvent("MyDropDownList_SelectedIndexChanged: " +
            ((MyDropDownList.SelectedIndex == -1)?"none":MyDropDownList.SelectedItem.Value));
      }

      /************************************************************************
       * ListBox Events                                                       *
       ************************************************************************/
      protected void MyListBox_Init(object sender, System.EventArgs e) {
         TrackEvent("MyListBox_Init");
         // manually add list items
         string[] DDText = { "Item 4", "Item 5", "Item 6" };
         string[] DDCode = { "4", "5", "6" };
         for (int i = 0; i < DDText.Length; i++) {
            MyListBox.Items.Add(new ListItem(DDText[i], DDCode[i]));
         }
         // datasource add list items
         string[] DDData = { "Item 7", "Item 8", "Item 9" };
         MyListBox.DataSource = DDData;
         MyListBox.DataBind();
      }

      protected void MyListBox_Load(object sender, System.EventArgs e) {
         TrackEvent("MyListBox_Load");
      }

      protected void MyListBox_PreRender(object sender, System.EventArgs e) {
         TrackEvent("MyListBox_PreRender");
      }

      protected void MyListBox_SelectedIndexChanged(object sender, System.EventArgs e) {
         string s = "";
         foreach (ListItem item in MyListBox.Items) {
            if (item.Selected) {
               s += "X";
            } else {
               s += " ";
            }
         }
         foreach (int i in MyListBox.GetSelectedIndices()) {
            s += MyListBox.Items[i].Value;
         }
         TrackEvent("MyListBox_SelectedIndexChanged: " + s);
      }

      /************************************************************************
       * BulletedList Events                                                  *
       ************************************************************************/
      protected void MyBulletedList_Init(object sender, System.EventArgs e) {
         TrackEvent("MyBulletedList_Init");
         // manually add list items
         string[] DDText = { "Item 4", "Item 5", "Item 6" };
         string[] DDCode = { "4", "5", "6" };
         for (int i = 0; i < DDText.Length; i++) {
            MyBulletedList.Items.Add(new ListItem(DDText[i], DDCode[i]));
         }
         // datasource add list items
         string[] DDData = { "Item 7", "Item 8", "Item 9" };
         MyBulletedList.DataSource = DDData;
         MyBulletedList.DataBind();
      }

      protected void MyBulletedList_Load(object sender, System.EventArgs e) {
         TrackEvent("MyBulletedList_Load");
      }

      protected void MyBulletedList_PreRender(object sender, System.EventArgs e) {
         TrackEvent("MyBulletedList_PreRender");
      }

      protected void MyBulletedList_Click(object sender, BulletedListEventArgs e) {
         TrackEvent("MyDropDownList_Click: " + MyBulletedList.Items[e.Index].Value);
      }

      /************************************************************************
       * Table Events                                                         *
       ************************************************************************/
      protected void MyTable_Init(object sender, System.EventArgs e) {
         TrackEvent("MyTable_Init");
         TableRow row = new TableRow();
         row.HorizontalAlign = HorizontalAlign.Center;
         row.VerticalAlign = VerticalAlign.Middle;
         TableCell cellA = new TableCell();
         cellA.Controls.Add(new LiteralControl("2A"));
         row.Cells.Add(cellA);
         TableCell cellB = new TableCell();
         cellB.Controls.Add(new LiteralControl("2B"));
         row.Cells.Add(cellB);
         MyTable.Rows.Add(row);
      }

      protected void MyTable_Load(object sender, System.EventArgs e) {
         TrackEvent("MyTable_Load");
      }

      protected void MyTable_PreRender(object sender, System.EventArgs e) {
         TrackEvent("MyTable_PreRender");
      }

      protected void MyTable_Unload(object sender, System.EventArgs e) {
         TrackEvent("MyTable_Unload");
      }

      /************************************************************************
       * TableHeaderRow Events                                                *
       ************************************************************************/
      protected void MyTableHeaderRow_Init(object sender, System.EventArgs e) {
         TrackEvent("MyTableHeaderRow_Init");
      }

      protected void MyTableHeaderRow_Load(object sender, System.EventArgs e) {
         TrackEvent("MyTableHeaderRow_Load");
      }

      protected void MyTableHeaderRow_PreRender(object sender, System.EventArgs e) {
         TrackEvent("MyTableHeaderRow_PreRender");
      }

      protected void MyTableHeaderRow_Unload(object sender, System.EventArgs e) {
         TrackEvent("MyTableHeaderRow_Unload");
      }

      /************************************************************************
       * TableHeaderCell Events                                               *
       ************************************************************************/
      protected void MyTableHeaderCell_Init(object sender, System.EventArgs e) {
         TrackEvent("MyTableHeaderCell_Init");
      }

      protected void MyTableHeaderCell_Load(object sender, System.EventArgs e) {
         TrackEvent("MyTableHeaderCell_Load");
      }

      protected void MyTableHeaderCell_PreRender(object sender, System.EventArgs e) {
         TrackEvent("MyTableHeaderCell_PreRender");
      }

      protected void MyTableHeaderCell_Unload(object sender, System.EventArgs e) {
         TrackEvent("MyTableHeaderCell_Unload");
      }

      /************************************************************************
       * TableRow Events                                                      *
       ************************************************************************/
      protected void MyTableRow_Init(object sender, System.EventArgs e) {
         TrackEvent("MyTableRow_Init");
      }

      protected void MyTableRow_Load(object sender, System.EventArgs e) {
         TrackEvent("MyTableRow_Load");
      }

      protected void MyTableRow_PreRender(object sender, System.EventArgs e) {
         TrackEvent("MyTableRow_PreRender");
      }

      protected void MyTableRow_Unload(object sender, System.EventArgs e) {
         TrackEvent("MyTableRow_Unload");
      }

      /************************************************************************
       * TableCell Events                                                     *
       ************************************************************************/
      protected void MyTableCell_Init(object sender, System.EventArgs e) {
         TrackEvent("MyTableCell_Init");
      }

      protected void MyTableCell_Load(object sender, System.EventArgs e) {
         TrackEvent("MyTableCell_Load");
      }

      protected void MyTableCell_PreRender(object sender, System.EventArgs e) {
         TrackEvent("MyTableCell_PreRender");
      }

      protected void MyTableCell_Unload(object sender, System.EventArgs e) {
         TrackEvent("MyTableCell_Unload");
      }

      /************************************************************************
       * Panel Events                                                         *
       ************************************************************************/
      protected void MyPanel_Init(object sender, System.EventArgs e) {
         TrackEvent("MyPanel_Init");
         Label YourLabel = new Label();
         YourLabel.Text = "Dynamic Label";
         MyPanel.Controls.Add(YourLabel);
         TextBox YourTextBox = new TextBox();
         YourTextBox.ID = "YourTextBox";
         YourTextBox.Text = "Dynamic TextBox";
         MyPanel.Controls.Add(YourTextBox);
      }

      protected void MyPanel_Load(object sender, System.EventArgs e) {
         TrackEvent("MyPanel_Load");
      }

      protected void MyPanel_PreRender(object sender, System.EventArgs e) {
         TrackEvent("MyPanel_PreRender");
      }

      protected void MyPanel_Unload(object sender, System.EventArgs e) {
         TrackEvent("MyPanel_Unload");
      }

      /************************************************************************
       * Image Events                                                         *
       ************************************************************************/
      protected void MyImage_Init(object sender, System.EventArgs e) {
         TrackEvent("MyImage_Init");
      }

      protected void MyImage_Load(object sender, System.EventArgs e) {
         TrackEvent("MyImage_Load");
      }

      protected void MyImage_PreRender(object sender, System.EventArgs e) {
         TrackEvent("MyImage_PreRender");
      }

      protected void MyImage_Unload(object sender, System.EventArgs e) {
         TrackEvent("MyImage_Unload");
      }

      /************************************************************************
       * ImageMap Events                                                      *
       ************************************************************************/
      protected void MyImageMap_Init(object sender, System.EventArgs e) {
         TrackEvent("MyImageMap_Init");
      }

      protected void MyImageMap_Load(object sender, System.EventArgs e) {
         TrackEvent("MyImageMap_Load");
      }

      protected void MyImageMap_PreRender(object sender, System.EventArgs e) {
         TrackEvent("MyImageMap_PreRender");
      }

      protected void MyImageMap_Click(object sender, ImageMapEventArgs e) {
         TrackEvent("MyImageMap_Click: " + e.PostBackValue);
      }

      protected void MyImageMap_Unload(object sender, System.EventArgs e) {
         TrackEvent("MyImageMap_Unload");
      }

      /************************************************************************
       * MultiView Events                                                     *
       ************************************************************************/
      protected void MyMultiView_Init(object sender, System.EventArgs e) {
         TrackEvent("MyMultiView_Init");
      }

      protected void MyMultiView_Load(object sender, System.EventArgs e) {
         TrackEvent("MyMultiView_Load");
      }

      protected void MyMultiView_PreRender(object sender, System.EventArgs e) {
         TrackEvent("MyMultiView_PreRender");
      }

      protected void MyMultiView_ActiveViewChanged(object sender, System.EventArgs e) {
         TrackEvent("MyMultiView_ActiveViewChanged");
      }

      protected void MyMultiView_Unload(object sender, System.EventArgs e) {
         TrackEvent("MyMultiView_Unload");
      }

      protected void MyMultiViewPrev_Command(object sender, CommandEventArgs e ) {
         TrackEvent("MyMultiViewPrev_Command: " + e.CommandName + "(" + e.CommandArgument + ")");
         MyMultiView.ActiveViewIndex++;
      }

      protected void MyMultiViewSwitch_Command(object sender, CommandEventArgs e ) {
         TrackEvent("MyMultiViewSwitch_Command: " + e.CommandName + "(" + e.CommandArgument + ")");
         MyMultiView.ActiveViewIndex = int.Parse(e.CommandArgument.ToString());
      }

      /************************************************************************
       * View Events                                                          *
       ************************************************************************/
      protected void MyView_Activate(object sender, System.EventArgs e) {
         TrackEvent("MyView_Activate: " + ((View)sender).ID);
      }

      protected void MyView_Deactivate(object sender, System.EventArgs e) {
         TrackEvent("MyView_Deactivate: " + ((View)sender).ID);
      }

      protected void MyWizard_Init(object sender, System.EventArgs e) {
         TrackEvent("MyWizard_Init");
      }

      /************************************************************************
       * Wizard Events                                                        *
       ************************************************************************/
      protected void MyWizard_Load(object sender, System.EventArgs e) {
         TrackEvent("MyWizard_Load");
      }

      protected void MyWizard_PreRender(object sender, System.EventArgs e) {
         TrackEvent("MyWizard_PreRender");
      }

      protected void MyWizard_Unload(object sender, System.EventArgs e) {
         TrackEvent("MyWizard_Unload");
      }

      protected void MyWizard_ActiveStepChanged(object sender, System.EventArgs e) {
         TrackEvent("MyWizard_ActiveStepChanged");
      }

      protected void MyWizard_CancelButtonClick(object sender, System.EventArgs e) {
         TrackEvent("MyWizard_CancelButtonClick");
      }

      protected void MyWizard_FinishButtonClick(object sender, System.EventArgs e) {
         TrackEvent("MyWizard_FinishButtonClick: " + ((WizardNavigationEventArgs)e).CurrentStepIndex);
      }

      protected void MyWizard_NextButtonClick(object sender, System.EventArgs e) {
         TrackEvent("MyWizard_NextButtonClick " + ((WizardNavigationEventArgs)e).NextStepIndex);
      }

      protected void MyWizard_PreviousButtonClick(object sender, System.EventArgs e) {
         TrackEvent("MyWizard_PreviousButtonClick");
      }

      protected void MyWizard_SideBarButtonClick(object sender, System.EventArgs e) {
         TrackEvent("MyWizard_SideBarButtonClick");
      }

      /************************************************************************
       * FileUpload Events                                                    *
       ************************************************************************/
      protected void MyFileUpload_Init(object sender, System.EventArgs e) {
         TrackEvent("MyFileUpload_Init");
      }

      protected void MyFileUpload_Load(object sender, System.EventArgs e) {
         if (MyFileUpload.HasFile) {
            TrackEvent("MyFileUpload_Load: " +
               MyFileUpload.PostedFile.FileName + " " +
               MyFileUpload.PostedFile.ContentType + " " +
               MyFileUpload.PostedFile.ContentLength);
            //MyFileUpload.SaveAs("c:\\inetpub\\wwwroot\\hello\\" + MyFileUpload.PostedFile.FileName);
         } else {
            TrackEvent("MyFileUpload_Load");
         }
      }

      protected void MyFileUpload_PreRender(object sender, System.EventArgs e) {
         TrackEvent("MyFileUpload_PreRender");
      }

      protected void MyFileUpload_Unload(object sender, System.EventArgs e) {
         TrackEvent("MyFileUpload_Unload");
      }

      /************************************************************************
       * AdRotator Events                                                     *
       ************************************************************************/
      protected void MyAdRotator_Init(object sender, System.EventArgs e) {
         TrackEvent("MyAdRotator_Init");
      }

      protected void MyAdRotator_Load(object sender, System.EventArgs e) {
         TrackEvent("MyAdRotator_Load");
      }

      protected void MyAdRotator_PreRender(object sender, System.EventArgs e) {
         TrackEvent("MyAdRotator_PreRender");
      }

      protected void MyAdRotator_Unload(object sender, System.EventArgs e) {
         TrackEvent("MyAdRotator_Unload");
      }

      protected void MyAdRotator_AdCreated(object sender, AdCreatedEventArgs e) {
         if ((string)e.AdProperties["CustomTag"] != "") {
            TrackEvent("MyAdRotator_AdCreated: " + (string)e.AdProperties["CustomTag"]);
         } else {
            TrackEvent("MyAdRotator_AdCreated");
         }
      }

      /************************************************************************
       * Calendar Events                                                      *
       ************************************************************************/
      protected void MyCalendar_Init(object sender, System.EventArgs e) {
         TrackEvent("MyCalendar_Init");
      }

      protected void MyCalendar_Load(object sender, System.EventArgs e) {
         TrackEvent("MyCalendar_Load");
      }

      protected void MyCalendar_PreRender(object sender, System.EventArgs e) {
         TrackEvent("MyCalendar_PreRender");
      }

      protected void MyCalendar_Unload(object sender, System.EventArgs e) {
         TrackEvent("MyCalendar_Unload");
      }

      protected void MyCalendar_SelectionChanged(object sender, System.EventArgs e) {
         string s = "";
         foreach (DateTime day in MyCalendar.SelectedDates) s += " " + day.ToString("MM/dd/yyyy");
         TrackEvent("MyCalendar_SelectionChanged: " +
            MyCalendar.TodaysDate.ToString("MM/dd/yyyy") + " " +
            MyCalendar.SelectedDate.ToString("MM/dd/yyyy") + s);
      }

      protected void MyCalendar_VisibleMonthChanged(object sender, MonthChangedEventArgs e) {
         TrackEvent("MyCalendar_VisibleMonthChanged");
         MyCalendar.SelectedDates.Clear();
      }

      protected void MyCalendar_DayRender(object sender, DayRenderEventArgs e) {
         TrackEvent("MyCalendar_DayRender");
         if (!e.Day.IsOtherMonth && e.Day.IsWeekend) {
            e.Cell.BackColor = System.Drawing.Color.LightGreen;
         }
         if ((e.Day.Date.Month == 1) && (e.Day.Date.Day == 1)) {
            e.Cell.Controls.Add(new LiteralControl("<br/>Happy New Year!"));
         }
      }

      /************************************************************************
       * GridView Events                                                      *
       ************************************************************************/
      protected void MyGridView_Init(object sender, System.EventArgs e) {
         TrackEvent("MyGridView_Init");
      }

      protected void MyGridView_Load(object sender, System.EventArgs e) {
         TrackEvent("MyGridView_Load");
      }

      protected void MyGridView_PreRender(object sender, System.EventArgs e) {
         TrackEvent("MyGridView_PreRender");
      }

      protected void MyGridView_Unload(object sender, System.EventArgs e) {
         TrackEvent("MyGridView_Unload");
      }

      protected void MyGridView_DataBinding(object sender, System.EventArgs e) {
         TrackEvent("MyGridView_DataBinding");
      }

      protected void MyGridView_DataBound(object sender, System.EventArgs e) {
         TrackEvent("MyGridView_DataBound");
      }

      protected void MyGridView_PageIndexChanged(object sender, System.EventArgs e) {
         TrackEvent("MyGridView_PageIndexChanged");
      }

      protected void MyGridView_PageIndexChanging(object sender, System.EventArgs e) {
         TrackEvent("MyGridView_PageIndexChanging");
      }

      protected void MyGridView_RowCancelingEdit(object sender, System.EventArgs e) {
         TrackEvent("MyGridView_RowCancelingEdit");
      }

      protected void MyGridView_RowCommand(object sender, System.EventArgs e) {
         TrackEvent("MyGridView_RowCommand");
      }

      protected void MyGridView_RowCreated(object sender, System.EventArgs e) {
         TrackEvent("MyGridView_RowCreated");
      }

      protected void MyGridView_RowDataBound(object sender, System.EventArgs e) {
         TrackEvent("MyGridView_RowDataBound");
      }

      protected void MyGridView_RowDeleted(object sender, System.EventArgs e) {
         TrackEvent("MyGridView_RowDeleted");
      }

      protected void MyGridView_RowDeleting(object sender, System.EventArgs e) {
         TrackEvent("MyGridView_RowDeleting");
      }

      protected void MyGridView_RowEditing(object sender, System.EventArgs e) {
         TrackEvent("MyGridView_RowEditing");
      }

      protected void MyGridView_RowUpdated(object sender, System.EventArgs e) {
         TrackEvent("MyGridView_RowUpdated");
      }

      protected void MyGridView_RowUpdating(object sender, System.EventArgs e) {
         TrackEvent("MyGridView_RowUpdating");
      }

      protected void MyGridView_SelectedIndexChanged(object sender, System.EventArgs e) {
         TrackEvent("MyGridView_SelectedIndexChanged");
      }

      protected void MyGridView_SelectedIndexChanging(object sender, System.EventArgs e) {
         TrackEvent("MyGridView_SelectedIndexChanging");
      }

      protected void MyGridView_Sorted(object sender, System.EventArgs e) {
         TrackEvent("MyGridView_Sorted");
      }

      protected void MyGridView_Sorting(object sender, System.EventArgs e) {
         TrackEvent("MyGridView_Sorting");
      }

      /************************************************************************
       * DataList Events                                                      *
       ************************************************************************/
      protected void MyDataList_Init(object sender, System.EventArgs e) {
         TrackEvent("MyDataList_Init");
      }

      protected void MyDataList_Load(object sender, System.EventArgs e) {
         TrackEvent("MyDataList_Load");
      }

      protected void MyDataList_PreRender(object sender, System.EventArgs e) {
         TrackEvent("MyDataList_PreRender");
      }

      protected void MyDataList_Unload(object sender, System.EventArgs e) {
         TrackEvent("MyDataList_Unload");
      }

      protected void MyDataList_EditCommand(object source, DataListCommandEventArgs e) {
         TrackEvent("MyDataList_EditCommand");
         MyDataList.EditItemIndex = e.Item.ItemIndex;
         DataBind();
      }

      protected void MyDataList_CancelCommand(object source, DataListCommandEventArgs e) {
         TrackEvent("MyDataList_CancelCommand");
         MyDataList.EditItemIndex = -1;
         DataBind();
      }

      protected void MyDataList_UpdateCommand(object source, DataListCommandEventArgs e) {
         TrackEvent("MyDataList_UpdateCommand");
      }

      protected void MyDataList_DeleteCommand(object source, DataListCommandEventArgs e) {
         TrackEvent("MyDataList_DeleteCommand");
      }

      protected void MyDataList_DataBinding(object source, System.EventArgs e) {
         TrackEvent("MyDataList_DataBinding");
      }

      protected void MyDataList_ItemCommand(object source, DataListCommandEventArgs e) {
         TrackEvent("MyDataList_ItemCommand");
      }

      protected void MyDataList_ItemCreated(object source, System.EventArgs e) {
         TrackEvent("MyDataList_ItemCreated");
      }

      protected void MyDataList_ItemDataBound(object source, System.EventArgs e) {
         TrackEvent("MyDataList_ItemDataBound");
      }

      protected void MyDataList_SelectedIndexChanged(object source, System.EventArgs e) {
         TrackEvent("MyDataList_SelectedIndexChanged");
      }

      /************************************************************************
       * Repeater Events                                                      *
       ************************************************************************/
      protected void MyRepeater_Init(object sender, System.EventArgs e) {
         TrackEvent("MyRepeater_Init");
      }

      protected void MyRepeater_Load(object sender, System.EventArgs e) {
         TrackEvent("MyRepeater_Load");
      }

      protected void MyRepeater_PreRender(object sender, System.EventArgs e) {
         TrackEvent("MyRepeater_PreRender");
      }

      protected void MyRepeater_Unload(object sender, System.EventArgs e) {
         TrackEvent("MyRepeater_Unload");
      }

      protected void MyRepeater_DataBinding(object source, System.EventArgs e) {
         TrackEvent("MyRepeater_DataBinding");
      }

      protected void MyRepeater_ItemCommand(object source, RepeaterCommandEventArgs e) {
         TrackEvent("MyRepeater_ItemCommand");
      }

      protected void MyRepeater_ItemCreated(object source, System.EventArgs e) {
         TrackEvent("MyRepeater_ItemCreated");
      }

      protected void MyRepeater_ItemDataBound(object source, System.EventArgs e) {
         TrackEvent("MyRepeater_ItemDataBound");
      }

      /************************************************************************
       * DetailsView Events                                                   *
       ************************************************************************/
      protected void MyDetailsView_Init(object sender, System.EventArgs e) {
         TrackEvent("MyDetailsView_Init");
      }

      protected void MyDetailsView_Load(object sender, System.EventArgs e) {
         TrackEvent("MyDetailsView_Load");
      }

      protected void MyDetailsView_PreRender(object sender, System.EventArgs e) {
         TrackEvent("MyDetailsView_PreRender");
      }

      protected void MyDetailsView_Unload(object sender, System.EventArgs e) {
         TrackEvent("MyDetailsView_Unload");
      }

      protected void MyDetailsView_DataBinding(object sender, System.EventArgs e) {
         TrackEvent("MyDetailsView_DataBinding");
      }

      protected void MyDetailsView_DataBound(object sender, System.EventArgs e) {
         TrackEvent("MyDetailsView_DataBound");
      }

      protected void MyDetailsView_PageIndexChanged(object sender, System.EventArgs e) {
         TrackEvent("MyDetailsView_PageIndexChanged");
      }

      protected void MyDetailsView_PageIndexChanging(object sender, System.EventArgs e) {
         TrackEvent("MyDetailsView_PageIndexChanging");
      }

      /************************************************************************
       * FormView Events                                                      *
       ************************************************************************/
      protected void MyFormView_Init(object sender, System.EventArgs e) {
         TrackEvent("MyFormView_Init");
      }

      protected void MyFormView_Load(object sender, System.EventArgs e) {
         TrackEvent("MyFormView_Load");
      }

      protected void MyFormView_PreRender(object sender, System.EventArgs e) {
         TrackEvent("MyFormView_PreRender");
      }

      protected void MyFormView_Unload(object sender, System.EventArgs e) {
         TrackEvent("MyFormView_Unload");
      }

      protected void MyFormView_DataBinding(object sender, System.EventArgs e) {
         TrackEvent("MyFormView_DataBinding");
      }

      protected void MyFormView_DataBound(object sender, System.EventArgs e) {
         TrackEvent("MyFormView_DataBound");
      }

      protected void MyFormView_PageIndexChanged(object sender, System.EventArgs e) {
         TrackEvent("MyFormView_PageIndexChanged");
      }

      protected void MyFormView_PageIndexChanging(object sender, System.EventArgs e) {
         TrackEvent("MyFormView_PageIndexChanging");
      }

      /************************************************************************
       * RequiredFieldValidator Events                                         *
       ************************************************************************/
      protected void MyRequiredFieldValidator_Init(object sender, System.EventArgs e) {
         TrackEvent("MyRequiredFieldValidator_Init");
      }

      protected void MyRequiredFieldValidator_Load(object sender, System.EventArgs e) {
         TrackEvent("MyRequiredFieldValidator_Load");
      }

      protected void MyRequiredFieldValidator_PreRender(object sender, System.EventArgs e) {
         TrackEvent("MyRequiredFieldValidator_PreRender");
      }

      protected void MyRequiredFieldValidator_Unload(object sender, System.EventArgs e) {
         TrackEvent("MyRequiredFieldValidator_Unload");
      }

      /************************************************************************
       * CompareValidator Events                                              *
       ************************************************************************/
      protected void MyCompareValidator_Init(object sender, System.EventArgs e) {
         TrackEvent("MyCompareValidator_Init");
      }

      protected void MyCompareValidator_Load(object sender, System.EventArgs e) {
         TrackEvent("MyCompareValidator_Load");
      }

      protected void MyCompareValidator_PreRender(object sender, System.EventArgs e) {
         TrackEvent("MyCompareValidator_PreRender");
      }

      protected void MyCompareValidator_Unload(object sender, System.EventArgs e) {
         TrackEvent("MyCompareValidator_Unload");
      }

      /************************************************************************
       * RangeValidator Events                                                *
       ************************************************************************/
      protected void MyRangeValidator_Init(object sender, System.EventArgs e) {
         TrackEvent("MyRangeValidator_Init");
      }

      protected void MyRangeValidator_Load(object sender, System.EventArgs e) {
         TrackEvent("MyRangeValidator_Load");
      }

      protected void MyRangeValidator_PreRender(object sender, System.EventArgs e) {
         TrackEvent("MyRangeValidator_PreRender");
      }

      protected void MyRangeValidator_Unload(object sender, System.EventArgs e) {
         TrackEvent("MyRangeValidator_Unload");
      }

      /************************************************************************
       * RegularExpressionValidator Events                                    *
       ************************************************************************/
      protected void MyRegularExpressionValidator_Init(object sender, System.EventArgs e) {
         TrackEvent("MyRegularExpressionValidator_Init");
      }

      protected void MyRegularExpressionValidator_Load(object sender, System.EventArgs e) {
         TrackEvent("MyRegularExpressionValidator_Load");
      }

      protected void MyRegularExpressionValidator_PreRender(object sender, System.EventArgs e) {
         TrackEvent("MyRegularExpressionValidator_PreRender");
      }

      protected void MyRegularExpressionValidator_Unload(object sender, System.EventArgs e) {
         TrackEvent("MyRegularExpressionValidator_Unload");
      }

      /************************************************************************
       * CustomValidator Events                                               *
       ************************************************************************/
      protected void MyCustomValidator_Init(object sender, System.EventArgs e) {
         TrackEvent("MyCustomValidator_Init");
      }

      protected void MyCustomValidator_Load(object sender, System.EventArgs e) {
         TrackEvent("MyCustomValidator_Load");
      }

      protected void MyCustomValidator_PreRender(object sender, System.EventArgs e) {
         TrackEvent("MyCustomValidator_PreRender");
      }

      protected void MyCustomValidator_Unload(object sender, System.EventArgs e) {
         TrackEvent("MyCustomValidator_Unload");
      }

      protected void MyCustomValidator_ServerValidate(object sender, ServerValidateEventArgs e) {
         TrackEvent("MyCustomValidator_ServerValidate");
         try {
            e.IsValid = false;
            int i = int.Parse(e.Value);
            if (i % 2 == 0) e.IsValid = true;
         } catch {
         }
      }

      /************************************************************************
       * ValidationSummary Events                                             *
       ************************************************************************/
      protected void MyValidationSummary_Init(object sender, System.EventArgs e) {
         TrackEvent("MyValidationSummary_Init");
      }

      protected void MyValidationSummary_Load(object sender, System.EventArgs e) {
         TrackEvent("MyValidationSummary_Load");
      }

      protected void MyValidationSummary_PreRender(object sender, System.EventArgs e) {
         TrackEvent("MyValidationSummary_PreRender");
      }

      protected void MyValidationSummary_Unload(object sender, System.EventArgs e) {
         TrackEvent("MyValidationSummary_Unload");
      }

   }
}

AdRotator File

<Advertisements>
   <Ad>
      <ImageUrl>images/go.gif</ImageUrl>
      <NavigateUrl>hello.aspx</NavigateUrl>
      <AlternateText>Ad 0</AlternateText>
      <Keyword>Ad0</Keyword>
      <Impressions>50</Impressions>
      <CustomTag>Custom 0</CustomTag>
   </Ad>
   <Ad>
      <ImageUrl>images/go-d.gif</ImageUrl>
      <NavigateUrl>hello.aspx</NavigateUrl>
      <AlternateText>Ad 1</AlternateText>
      <Keyword>Ad1</Keyword>
      <Impressions>50</Impressions>
      <CustomTag>Custom 1</CustomTag>
   </Ad>
</Advertisements>

Chris Rathman / Chris.Rathman@tx.rr.com