<%@ Import Namespace="System.Data"%>
<%@ Import Namespace="System.Data.OleDb"%>
<%@ Page Language="VB" %>
<script runat="server">
Sub Page_Load(sender As Object, e As EventArgs)
'*** Create Object Session ***'
Dim objFSO, objStream As Object
objFSO = Server.CreateObject("Scripting.FileSystemObject")
'*** Used Session ***'
Session("mySession") = objFSO
objStream = Session("mySession").OpenTextFile(Server.MapPath("MyFiles/thaicreate.txt"))
Do Until objStream.AtEndOfStream
Me.lblText1.Text = Me.lblText1.Text & objStream.ReadLine & "<br>"
Loop
objStream.Close()
objStream = Nothing
'*** New Control & Session ***'
Dim objConn As OleDbConnection
Dim objCmd As OleDbCommand
Dim strConnString As String
strConnString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("database/mydatabase.mdb")&";"
objConn = New OleDbConnection(strConnString)
objConn.Open()
Dim strSQL As String
strSQL = "SELECT * FROM customer"
Dim dtReader As OleDbDataReader
objCmd = New OleDbCommand(strSQL, objConn)
dtReader = objCmd.ExecuteReader()
'*** DataGrid Session ***'
Dim myDataGrid As New DataGrid
Session("myControl") = myDataGrid
Dim myCtrl As DataGrid = CType(Session("myControl"), DataGrid)
With myCtrl
.AutoGenerateColumns = True
.DataSource = dtReader
.DataBind()
End With
'*** Load Control To Label ***'
Me.lblText2.Controls.Add(myCtrl)
dtReader.Close()
dtReader = Nothing
objConn.Close()
objConn = Nothing
End Sub
</script>
<html>
<head>
<title>ThaiCreate.Com ASP.NET - Session Object</title>
</head>
<body>
<form runat="server">
<asp:Label id="lblText1" runat="server"></asp:Label>
<hr />
<asp:Label id="lblText2" runat="server"></asp:Label>
</form>
</body>
</html>
คำอธิบาย
จากตัวอย่างแรกจะเป็นการเก็ยค่า Object ของ Server.CreateObject("Scripting.FileSystemObject") ลงในตัวแปร Session ซึ่งจะสามารถเรียกใช้งานตัวแปรนี้ได้ทั้ง Application และตัวอย่างที่สองเป็นการสร้าง Control DataGrid และทำการเก็บค่า Control ไว้ใน Session