I am building a Asp.net Application. I need to save a HashTable in a session.
At page load i am writing
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
Session["AttemptCount"]=new Hashtable(); //Because of this line.
}
}
Here problem is, when a user refresh the page, session["AttemptCount"] also get refreshed. I want to know where should I declare
Session["AttemptCount"]=new Hashtable();
So that my seesion do not get refeshed.
EDIT In Global.asax, this session will get started, as soon as user opens the website. I want to creat this session only if user go to a particular page. i.e Login.aspx
Look at Global.asax and the Application_Started (I think) and there is one for session started too.
Do it in the
Session_Start
method in your Global.asax like so...Update:
Then simply just do a check to see if the session variable exists, if it doesn't only then create the variable. You could stick it in a property to make things cleaner like so...
And then you could just call on the property
AttemptCount
wherever you need like so...test if it exists first
though the session_start is better, you only need to uses it on one page but you can create it for each session.
You could make a property like this in your page:
then you can use it without having to worry: