We help IT Professionals succeed at work.

We've partnered with Certified Experts, Carl Webster and Richard Faulkner, to bring you two Citrix podcasts. Learn about 2020 trends and get answers to your biggest Citrix questions!Listen Now

x

label not declared?

QPR
QPR asked
on
Medium Priority
510 Views
Last Modified: 2012-05-05
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)
Comment
Watch Question

Commented:
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

QPR

Author

Commented:
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

Commented:
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..
QPR

Author

Commented:
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>
Commented:
dont you have to put the following line
lblSession.text = instance.value

in a page_load or button click function or something???
you just have it hanging in there inside the class....???

Not the solution you were looking for? Getting a personalized solution is easy.

Ask the Experts
QPR

Author

Commented:
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."

Commented:
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..
Carl TawnSenior Systems and Integration Developer
CERTIFIED EXPERT

Commented:
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.
QPR

Author

Commented:
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.
Carl TawnSenior Systems and Integration Developer
CERTIFIED EXPERT

Commented:
As I mentioned in my last post:

    Dim SIDvalue As String = Session.SessionID
QPR

Author

Commented:
sorry missed that - works perfectly!
Carl TawnSenior Systems and Integration Developer
CERTIFIED EXPERT

Commented:
Erm, not that i'm really bothered but, how come all the points went to Pra4444 ?
QPR

Author

Commented:
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?
Carl TawnSenior Systems and Integration Developer
CERTIFIED EXPERT

Commented:
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.
Access more of Experts Exchange with a free account
Thanks for using Experts Exchange.

Create a free account to continue.

Limited access with a free account allows you to:

  • View three pieces of content (articles, solutions, posts, and videos)
  • Ask the experts questions (counted toward content limit)
  • Customize your dashboard and profile

*This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

OR

Please enter a first name

Please enter a last name

8+ characters (letters, numbers, and a symbol)

By clicking, you agree to the Terms of Use and Privacy Policy.