Link to home
Start Free TrialLog in
Avatar of QPR
QPRFlag for New Zealand

asked on

label not declared?

How come? All other pages in this app are allowing me to set a labels text property by using lblName.Text = someVarname in the .vb file.
What am I missing here (only diff is this page in it's own folder but still off the apps root and within the VS2005 solution)

.aspx page
    <form id="form1" runat="server">
    <div>
        <asp:Label ID="lblSession" runat="server" Text=""></asp:Label>
    </div>
    </form>

code behind
Partial Class Wapps_Default
    Inherits System.Web.UI.Page
    Dim instance As HttpSessionState
    Dim value As String
    lblSession.text = instance.value
End Class

error: declaration expected (lblSession)
Avatar of Xeavn
Xeavn

Do you have it declared at the top of the code behind? If not put this up in your variable declaration.

Protected WithEvents lblSession As Label

Avatar of QPR

ASKER

Strange not needed to do that in the other pages... however

Partial Class Wapps_Default
    Inherits System.Web.UI.Page
    Protected WithEvents lblSession As Label
    Dim instance As HttpSessionState
    Dim value As String
    lblSession.text = instance.value
End Class

gives the error: lblsession is already declared as protected dim withevents lblSession as system.web.ui.webcontrols.label in this class
in vs 2005, you dont have to declare at both the places(aspx and the code behind..)...so i am guessing its not the error..
Avatar of QPR

ASKER

the only declaration(s) are in the code behind.
This was just a test page the entire code for both pages is here:

default.aspx.vb
Partial Class Wapps_Default
    Inherits System.Web.UI.Page
    Protected WithEvents lblSession As Label
    Dim instance As HttpSessionState
    Dim value As String
    lblSession.text = instance.value
End Class
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="Wapps_Default" %>

default.aspx
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:Label ID="lblSession" runat="server" Text=""></asp:Label>
    </div>
    </form>
</body>
</html>
ASKER CERTIFIED SOLUTION
Avatar of Pra4444
Pra4444
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of QPR

ASKER

ok I changed the code to this
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Dim instance As HttpSessionState
        Dim SIDvalue As String = instance.SessionID
        lblSession.Text = SIDvalue
    End Sub

now it says that instance is used before being assigned a value and a null value could cause exception.
How can I get past this? When I try to run it I get the error "Object reference not set to an instance of an object."
i am not familiar with httpsession..

but generally you encounter this error when you fail to instantiate...you are missing a 'new' keyword somewhere..that would be my guess..
Avatar of Carl Tawn
The line:

    Dim SIDvalue As String = instance.SessionID

Should probably say:

    Dim SIDvalue As String = Session.SessionID

As I assume you want to get the ID of the current Session. You currently declare an object of type HttpSessionState, but don't assign anything to it, but I guess you meant to use the existing Session object.
Avatar of QPR

ASKER

I just want to get the current sessionID, this was a test page I plan to use the ID in an app I'm making.
I looked up VS2005 help on how to get it in asp.net 2.0 and got this example...

Dim instance As HttpSessionState
Dim value As String
value = instance.SessionID

If anyone knows a better/working way I'm all ears.
As I mentioned in my last post:

    Dim SIDvalue As String = Session.SessionID
Avatar of QPR

ASKER

sorry missed that - works perfectly!
Erm, not that i'm really bothered but, how come all the points went to Pra4444 ?
Avatar of QPR

ASKER

Sorry I felt a bit mean when I did it but.... my intial question was regarding the label not being declared.
His post said that it had to be declared within a page event which was what fixed my problem - the sessionID bit was a spin off and never part of the original question.
I do very appreciate you providing the correct answer for the second question.
I can set up a dummy question and award you the points for it if you like - does that break EE rules?
Don't worry about it, like I said i'm not all that bothered; it's just that, ordinarily, if you add a spin-off question that gets answered then people usually split the points.