1: Imports System.Diagnostics
2: Imports System.Data
3: Imports System.Data.SqlClient
4: Imports System.IO
5:
6: Partial Class LifeCycle
7: Inherits System.Web.UI.Page
8:
9: Protected Sub Page_AbortTransaction(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.AbortTransaction
10: System.Diagnostics.Trace.WriteLine("Page_AbortTransaction " & Now()) 11: End Sub
12:
13: Protected Sub Page_CommitTransaction(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.CommitTransaction
14: System.Diagnostics.Trace.WriteLine("Page_CommitTransaction " & Now()) 15: End Sub
16:
17: Protected Sub Page_DataBinding(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.DataBinding
18: System.Diagnostics.Trace.WriteLine("Page_DataBinding " & Now()) 19: End Sub
20:
21: Protected Sub Page_Disposed(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Disposed
22: System.Diagnostics.Trace.WriteLine("Page_Disposed " & Now()) 23: End Sub
24:
25: Protected Sub Page_Error(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Error
26: ' Use this event to log a page error
27: Dim objException As Exception = Server.GetLastError().GetBaseException()
28: System.Diagnostics.Trace.WriteLine(objException.ToString())
29: System.Diagnostics.Trace.WriteLine("Page_Error " & Now()) 30: End Sub
31:
32: Protected Sub Page_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Init
33: ' Use this event to read or initialize control properties.
34: Dim ContentPlaceHolder1 As ContentPlaceHolder = CType(Master.FindControl("Main"), ContentPlaceHolder) 35: Dim LabelPlaceHolder As PlaceHolder = CType(ContentPlaceHolder1.FindControl("LabelPlaceHolder"), PlaceHolder) 36: Dim lblMessage As Label = CType(LabelPlaceHolder.FindControl("lblMessage"), Label) 37: lblMessage.ForeColor = Drawing.Color.Black
38: System.Diagnostics.Trace.WriteLine("Page_Init " & Now()) 39: End Sub
40:
41: Protected Sub Page_InitComplete(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.InitComplete
42: ' Use this event for processing tasks that require all initialization be complete.
43: Dim ContentPlaceHolder1 As ContentPlaceHolder = CType(Master.FindControl("Main"), ContentPlaceHolder) 44: Dim LabelPlaceHolder As PlaceHolder = CType(ContentPlaceHolder1.FindControl("LabelPlaceHolder"), PlaceHolder) 45: Dim lblMessage As Label = CType(LabelPlaceHolder.FindControl("lblMessage"), Label) 46: lblMessage.ToolTip = "Tooltip added during InitComplete event."
47: ' Set a value in the viewstate
48: Me.ViewState("Author") = "Robert S. Robbins" 49: System.Diagnostics.Trace.WriteLine("Page_InitComplete " & Now()) 50: End Sub
51:
52: Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
53: ' Use the OnLoad event method to set properties in controls and establish database connections.
54: Dim cn As New SqlConnection
55: Dim objSqlCommand As New SqlCommand
56: cn.ConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings("Northwind").ToString() 57: cn.Open()
58: objSqlCommand.Connection = cn
59: objSqlCommand.CommandText = "SELECT ProductID, ProductName, UnitPrice FROM Products ORDER BY ProductName"
60: Dim objDataSet As DataSet = New DataSet()
61: Dim objSqlDataAdapter As SqlDataAdapter = New SqlDataAdapter()
62: objSqlDataAdapter.SelectCommand = objSqlCommand
63: objSqlDataAdapter.Fill(objDataSet)
64: GridView1.DataSource = objDataSet
65: GridView1.DataBind()
66: cn.Close()
67: System.Diagnostics.Trace.WriteLine("Page_Load " & Now()) 68: End Sub
69:
70: Protected Sub Page_LoadComplete(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.LoadComplete
71: ' Use this event for tasks that require that all other controls on the page be loaded.
72: ' Example: Get data from a GridView row after databinding has occurred.
73: System.Diagnostics.Trace.WriteLine(GridView1.Rows.Item(5).Cells(1).Text, "Row 6, Cell 2")
74: System.Diagnostics.Trace.WriteLine("Page_LoadComplete " & Now()) 75: End Sub
76:
77: Protected Sub Page_PreInit(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.PreInit
78: ' Check the IsPostBack property to determine whether this is the first time the page is being processed.
79: If Page.IsPostBack = False Then
80: ' Create or re-create dynamic controls.
81: Dim lblMessage As New Label
82: lblMessage.ID = "lblMessage"
83: lblMessage.Width = 500
84: lblMessage.Text = "Dynamically created control."
85: Dim ContentPlaceHolder1 As ContentPlaceHolder = CType(Master.FindControl("Main"), ContentPlaceHolder) 86: Dim LabelPlaceHolder As PlaceHolder = CType(ContentPlaceHolder1.FindControl("LabelPlaceHolder"), PlaceHolder) 87: LabelPlaceHolder.Controls.Add(lblMessage)
88: End If
89: System.Diagnostics.Trace.WriteLine("Page_PreInit " & Now()) 90: End Sub
91:
92: Protected Sub Page_PreLoad(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.PreLoad
93: ' Use this event if you need to perform processing on your page or control before the Load event.
94: ' Viewstate should be available now because it has been loaded.
95: System.Diagnostics.Trace.WriteLine(Me.ViewState.Values.Count, "ViewState Count")
96: ' The Request object should be available now.
97: System.Diagnostics.Trace.WriteLine(Request.ServerVariables("SCRIPT_NAME"), "Script Name") 98: System.Diagnostics.Trace.WriteLine("Page_PreLoad " & Now()) 99: End Sub
100:
101: Protected Sub Page_PreRender(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.PreRender
102: ' Use the event to make final changes to the contents of the page or its controls.
103: Dim ContentPlaceHolder1 As ContentPlaceHolder = CType(Master.FindControl("Main"), ContentPlaceHolder) 104: Dim GridView1 As GridView = CType(ContentPlaceHolder1.FindControl("GridView1"), GridView) 105: Dim objGridViewRow As GridViewRow
106: objGridViewRow = New GridViewRow(-1, -1, DataControlRowType.Header, DataControlRowState.Normal)
107: Dim objTableCell As TableCell = New TableCell()
108: Dim literal As LiteralControl = New LiteralControl()
109: literal.Text = "Northwind Products"
110: objTableCell.Controls.Add(literal)
111: objTableCell.ColumnSpan = 3
112: objTableCell.HorizontalAlign = HorizontalAlign.Center
113: objTableCell.ForeColor = Drawing.Color.White
114: objTableCell.BackColor = Drawing.Color.Black
115: objGridViewRow.Cells.Add(objTableCell)
116: GridView1.Controls(0).Controls.AddAt(0, objGridViewRow)
117: System.Diagnostics.Trace.WriteLine("Page_PreRender " & Now()) 118: End Sub
119:
120: Protected Sub Page_PreRenderComplete(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.PreRenderComplete
121: ' At this stage of the page life cycle, all controls are created, any pagination required is completed, and the page is ready to render to the output.
122: ' Example: The column headings of the gridview should be accessible now.
123: Dim ContentPlaceHolder1 As ContentPlaceHolder = CType(Master.FindControl("Main"), ContentPlaceHolder) 124: Dim GridView1 As GridView = CType(ContentPlaceHolder1.FindControl("GridView1"), GridView) 125: GridView1.HeaderRow.Cells(0).Text = "Product ID"
126: GridView1.HeaderRow.Cells(1).Text = "Product Name"
127: GridView1.HeaderRow.Cells(2).Text = "Unit Price"
128: ' Get the rendered HTML
129: 'Dim objStringBuilder As New StringBuilder()
130: 'Dim objStringWriter As New StringWriter(objStringBuilder)
131: 'Dim objHtmlTextWriter As New HtmlTextWriter(objStringWriter)
132: 'Me.RenderControl(objHtmlTextWriter)
133: 'Dim strGridViewHTML As String = objStringBuilder.ToString()
134: 'System.Diagnostics.Trace.WriteLine(strGridViewHTML)
135: System.Diagnostics.Trace.WriteLine("Page_PreRenderComplete " & Now()) 136: End Sub
137:
138: Protected Sub Page_SaveStateComplete(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.SaveStateComplete
139: ' Use this event perform tasks that require view state to be saved, but that do not make any changes to controls.
140: ' Example: Lets store some extraneous information in the view state
141: Me.ViewState("Date") = Now() 142: System.Diagnostics.Trace.WriteLine("Page_SaveStateComplete " & Now()) 143: End Sub
144:
145: Protected Sub Page_Unload(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Unload
146: ' Use this event to do final cleanup work, such as closing open files and database connections, or finishing up logging or other request-specific tasks.
147: System.Diagnostics.Trace.WriteLine(Me.ViewState.Values.Count, "ViewState Count")
148: System.Diagnostics.Trace.WriteLine("Page_Unload " & Now()) 149: End Sub
150: End Class