Application and Session Objects in ASP.NET - Practical Examples Showing the Use of Sessions
(Page 4 of 4 )
You might need to redirect the visitor to a particular page if some error has occurred. On the redirected page, you’ll need to display the error message. A session variable initialized to an error message fits the bill. Here’s an example: Suppose you are writing a function check_string() (as a part of page named page1.aspx) which accepts no other string than “ASP.NET Rocks!” If the string passed as an argument does not match, then you need to redirect to a page (“page2.aspx”) and display the error.
Page1.aspx:
Public Sub check_string
(ByVal str As String)
If Not Str.equals("ASP.NET Rocks") Then
Session("error_message") = "The string was NOT ""ASP.NET Rocks"" "
Response.Redirect("page2.aspx")
End If
End Sub
Page2.aspx This next fucntion will display the error message.
Private Sub Page_Load
(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
If Session("message") <> "" Then
Response.Write(Session("message"))
Session.Remove("message") 'Make the session variable null
End If
End Sub
I include this piece of code in the function “Page_load” to check for any error message on every visit to this page.
Here’s a personal example of having to use sessions: I had to design a website which had three types of users, all requiring authorization. All users were divided into three categories, and each category had a well defined set of rules and permissions.
While writing server-side scripts, I had to ensure that a particular script run only for qualified users. The information in the database showed which user belonged to which category. Querying the database was too cumbersome, so a simple and elegant solution was to use session variables.
At the time of authorization I queried the category of the user and stored the result in a session variable.
At the time of authorization also fetch the category type
Session
(“category”) = Get_category(username)
And that’s it--small, quick, and to the point. Would that all were as simple as sessions… but that’s neither here nor there. Enjoy!
| DISCLAIMER: The content provided in this article is not warranted or guaranteed by Developer Shed, Inc. The content provided is intended for entertainment and/or educational purposes in order to introduce to the reader key ideas, concepts, and/or product reviews. As such it is incumbent upon the reader to employ real-world tactics for security and implementation of best practices. We are not liable for any negative consequences that may result from implementing any information covered in our articles or tutorials. If this is a hardware review, it is not recommended to open and/or modify your hardware. |