Search This Blog

Loading...

Menggunakan Variabel Session pada Asp.Net

Variabel Session adalah variabel yang dapat digunakan pada halaman web dengan Asp.Net untuk melewatkan data di antara halaman web yang satu ke halaman web yang lain.Mengapa kita perlu menggunakan variabel Session ? Fungsi variabel Session adalah agar satu variabel dapat digunakan atau dimanfaatkan pada lebih dari satu halaman web.

Sebagai contoh kita membangun aplikasi untuk banyak pengguna di mana pengguna tersebut hanya boleh mengakses data tertentu. Misalnya aplikasi Sistem Informasi Personalia dengan menggunakan ASP.NET. Seorang karyawan dapat login dengan Nomor Induk-nya sendiri maka karyawan tersebut hanya dapat menampilkan data miliknya sendiri. Data yang dapat ditampilkan misalnya data absensi, data jam lembur, data pemakaian biaya pengobatan dan data training. Karyawan tersebut tidak dapat melihat data karyawan lain karena semua data difilter berdasarkan Nomor Induk-nya sendiri (Nomor Induk user yang login).

Berikut adalah contoh script untuk meng-assign nilai Nomor Induk ke dalam variabel Session.

1. File pertama : Default.aspx



<@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default">

<script runat="server">

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">

<title>Public Information</title>
</head>
<body>
<form id="form1" runat="server">
<div style="text-align: center">

NIK:
<asp:TextBox
ID="NIK"
runat="server"
Width="83px">
</asp:TextBox>
<asp:Button
ID="cmdLogin"
runat="server"

Text="Login" /><br />
<asp:Label
ID="Msg"
runat="server"
ForeColor="Red">

</asp:Label></div>
</form>
</body>
</html>

2. File kedua : Default.aspx.vb
Imports System.Data
Imports System.Data.SqlClient

Partial Class _Default
Inherits System.Web.UI.Page
Dim ConnectionString As String = _
ConfigurationSettings.AppSettings("ConnHrd")

Protected Sub cmdLogin_Click(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles cmdLogin.Click

Dim myConnection As New SqlConnection(ConnectionString)
Dim strQuery As String = _
"SELECT Nomor_Induk,Nama FROM Karyawan WHERE Nomor_Induk='" & _
Me.NIK.Text & "';"
Dim myCommand As New SqlCommand(strQuery, myConnection)
Dim strNIK As String = ""
Dim strNama As String = ""

If Page.IsValid Then

myConnection.Open()
Dim myDataReader As SqlDataReader = myCommand.ExecuteReader()
While myDataReader.Read()

strNIK = myDataReader.GetString(0) ' Ambil data NIK
strNama = myDataReader.GetString(1) ' Ambil data nama

End While

If strNIK = Me.NIK.Text Then

Session("NIK") = strNIK
Session("NAMA") = strNama
Msg.Text = ""
Me.Response.Redirect("absenharian.aspx")

Else

Msg.Text = "NIK tidak ada!"

End If

myDataReader.Close()
myConnection.Close()

End If

End Sub
End Class


Post a Comment