crich
asked on
ASP.NET Session Variables
Hi there,
I have the following code on my page to try and retreive the value of a log in session variable:
<script runat="server">
Sub Page_Load (s as object, e as eventargs)
Dim objChkUsername As String
Dim edit As Integer
objChkUsername = Session("chkusername").ToS tring()
If objChkUsername Is Nothing Then
edit = 0
Else edit = 1
End If
End Sub
</script>
I get the following error though:
[NullReferenceException: Object reference not set to an instance of an object.]
ASP.index_aspx.Page_Load(O bject s, EventArgs e) in D:\inetpub\wwwroot\moorfie ldsresearc h.org.uk\p rocess\ind ex.aspx:6
System.Web.UI.Control.OnLo ad(EventAr gs e) +67
System.Web.UI.Control.Load Recursive( ) +35
System.Web.UI.Page.Process RequestMai n() +750
Can anyone suggest where i am going wrong as i am new to asp.net and can't find any simple enough information on the net!
Thanks,
Richard
I have the following code on my page to try and retreive the value of a log in session variable:
<script runat="server">
Sub Page_Load (s as object, e as eventargs)
Dim objChkUsername As String
Dim edit As Integer
objChkUsername = Session("chkusername").ToS
If objChkUsername Is Nothing Then
edit = 0
Else edit = 1
End If
End Sub
</script>
I get the following error though:
[NullReferenceException: Object reference not set to an instance of an object.]
ASP.index_aspx.Page_Load(O
System.Web.UI.Control.OnLo
System.Web.UI.Control.Load
System.Web.UI.Page.Process
Can anyone suggest where i am going wrong as i am new to asp.net and can't find any simple enough information on the net!
Thanks,
Richard
ASKER
I have tried that but i get the same error!
From time to time I get the same error if I try to call a session object that has no value. You might try this
if Session("chkusername").ToS tring() & "" <> "" Then
objChkUsername = Session("chkusername").ToS tring()
Edit = 1
Else
Edit= 0
End If
if Session("chkusername").ToS
objChkUsername = Session("chkusername").ToS
Edit = 1
Else
Edit= 0
End If
ASKER
Still the same error!
ASKER
does anyone know how to check a session variable in asp.net?
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
<script runat="server">
Sub Page_Load (s as object, e as eventargs)
Dim objChkUsername As String= Session("chkusername")
Dim edit As Integer
If IsDBNull(objChkUsername) Or objChkUsername=" " Then
edit = 0
Else
edit = 1
End If
End Sub
</script>
Sub Page_Load (s as object, e as eventargs)
Dim objChkUsername As String= Session("chkusername")
Dim edit As Integer
If IsDBNull(objChkUsername) Or objChkUsername=" " Then
edit = 0
Else
edit = 1
End If
End Sub
</script>
SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
First line from daffodils should be
If Not Nothing(Session("chkuserna me")) Then
Good luck
If Not Nothing(Session("chkuserna
Good luck
ASKER
hi there,
Thank you all for helping to work that out, it seems the session variable may have been empty. I will give main points to yzlat and some to daffodils. I have a new problem now however, which i will give out more points for:
I am trying to show text on the webpage if the value of edit = 1 but i get another error:
Name 'edit' is not declared.
with this code:
<% If edit = 1 Then %>
EDIT MODE
<% End If %>
Apologies in advance for asking what must be very basic questions. I find these are the ones that are very hard to find answers for sometimes!
Thank you all for helping to work that out, it seems the session variable may have been empty. I will give main points to yzlat and some to daffodils. I have a new problem now however, which i will give out more points for:
I am trying to show text on the webpage if the value of edit = 1 but i get another error:
Name 'edit' is not declared.
with this code:
<% If edit = 1 Then %>
EDIT MODE
<% End If %>
Apologies in advance for asking what must be very basic questions. I find these are the ones that are very hard to find answers for sometimes!
Why not do this server side? something like this
dim edit as integer
If Edit = 1 then
label1.text = "whatever you want to say on the page"
Else
label1.text = "Whatever you say for this condition"
End If
dim edit as integer
If Edit = 1 then
label1.text = "whatever you want to say on the page"
Else
label1.text = "Whatever you say for this condition"
End If
It would probably be best if you closed out this questions and started another. You can reference this one in the new question.
ASKER
New thread for this question:
https://www.experts-exchange.com/questions/21140575/Display-variable-on-asp-net-page.html
https://www.experts-exchange.com/questions/21140575/Display-variable-on-asp-net-page.html
firstly take the procedure out of the load event just incase the error is to do with the vars in the load procedure call, and set them to run from and onclick event of a button, I say this because it has happened before despite how unlikely it may be.
Are you writing this in the code behind ?
if so then as previously standard practice is to vlidate the source exists prior to setting and objects value to it.
if the session var exists then do something else do something else leave the edit value be
dim edit as integer = 0
if not IsNothing(session("MySessi onVar")) then edit=1
Are you writing this in the code behind ?
if so then as previously standard practice is to vlidate the source exists prior to setting and objects value to it.
if the session var exists then do something else do something else leave the edit value be
dim edit as integer = 0
if not IsNothing(session("MySessi
Hi all, got similar problem on handling of Session in ASP.NET.....
I am using ASP.NET with C#. I always face the problem of session expire. Is there any way of setting session time out duration.
I am using ASP.NET with C#. I always face the problem of session expire. Is there any way of setting session time out duration.
its set in the web.config file look it up or post a topic with points
Dear friend replace your code with the following:
<script runat="server">
Sub Page_Load (s as object, e as eventargs)
Dim objChkUsername As String
Dim edit As Integer
objChkUsername = Convert.ToString(Session(" chkusernam e"))
If objChkUsername Is Nothing Then
edit = 0
Else edit = 1
End If
End Sub
</script>
It will definitely work. Actually your session variable is not initialized prior to use. Thats why it contains 'NULL' value. And when your are going to use it with ToString() method then the exception is occuring. As Tostring() does not handle 'NULL' value. So if you use Convert.ToString() then no exception will occur as it handles 'NULL' automatically. And in your string variable objChkUsername 'NULL' will be assigned. If you are going to assign value to objChkUsername, checking whether Session("chkusername") is null or not and using ToString() there the you are doing same mistake, and exception will occur to check in the if statement.
<script runat="server">
Sub Page_Load (s as object, e as eventargs)
Dim objChkUsername As String
Dim edit As Integer
objChkUsername = Convert.ToString(Session("
If objChkUsername Is Nothing Then
edit = 0
Else edit = 1
End If
End Sub
</script>
It will definitely work. Actually your session variable is not initialized prior to use. Thats why it contains 'NULL' value. And when your are going to use it with ToString() method then the exception is occuring. As Tostring() does not handle 'NULL' value. So if you use Convert.ToString() then no exception will occur as it handles 'NULL' automatically. And in your string variable objChkUsername 'NULL' will be assigned. If you are going to assign value to objChkUsername, checking whether Session("chkusername") is null or not and using ToString() there the you are doing same mistake, and exception will occur to check in the if statement.
Probably because you don't specify what namespace the session object is in. Either include it as an import or:
objChkUserName = HttpContext.Current.Sessio
Tim Cottee
Brainbench MVP for Visual Basic
http://www.brainbench.com