这是我写的一个codebehind的后台代码,想把session中变量参数传给控件,可是得不到,不知是什么原因?请帮忙看一下!
login.aspx.vb
.....
Dim reader As SqlDataReader = myCmd.ExecuteReader
myCmd.Dispose()
Dim obj As UserInfo = New UserInfo()
If reader.Read Then
obj.UserId = reader.Item("UserID")
obj.NiceName = reader.Item("NiceName")
obj.UserName = reader.Item("UserName")
obj.Tel = reader.Item("Tel")
obj.EMail = reader.Item("EMail")
obj.Addr = reader.Item("Addr")
obj.Zip = reader.Item("Zip")
obj.Role = reader.Item("Role")
Session("UserInfo")=obj
Session("UserId")=obj.UserId
Session("NiceName")=obj.NiceName
Session("UserName")=obj.UserName
Session("Tel")=obj.Tel
Session("EMail")=obj.EMail
Session("Addr")=obj.Addr
Session("Zip")=obj.Zip
Session("Role")=obj.Role
End If
myconn.Close()
.....SelfInfo.aspx.vb
Imports System
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControlsPublic Class SelfInfo:inherits Page
Public lbNiceName As Label
Public lbTel As Label
Public lbEMail As Label
Public lbAddr As Label
Public lbZip As Label
Public lbUserName As Label
Sub Page_Load(Sender As Object, E As EventArgs)
If Session("UserInfo")="" Then
Response.Redirect("../CommonUser/BuyBook.aspx") Else
lbUserName.Text=CStr(Session("UserName"))
lbNiceName.Text=CStr(Session("NiceName"))
lbAddr.Text=CStr(Session("Addr"))
lbTel.Text=CStr(Session("Tel"))
lbZip.Text=CStr(Session("Zip"))
lbEMail.Text=CStr(Session("EMail"))
End If
End Class换一种方式写也不行
Imports System
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControlsPublic Class SelfInfo:inherits Page
Public lbNiceName As Label
Public lbTel As Label
Public lbEMail As Label
Public lbAddr As Label
Public lbZip As Label
Public lbUserName As Label
Sub Page_Load(Sender As Object, E As EventArgs)
If Session("UserInfo") Is Nothing Then
Response.Redirect("../CommonUser/BuyBook.aspx")
Response.End()
Else
'读取Session中的用户信息,然后依次显示
Dim obj As UserInfo = CType(Session("UserInfo"), UserInfo)
lbUserName.Text = obj.UserName
lbNiceName.Text = obj.NiceName
lbAddr.Text = obj.Addr
lbTel.Text = obj.Tel
lbZip.Text = obj.Zip
lbEMail.Text = obj.EMail
End If
End SubEnd Class
Public Class UserInfo
Private _UserId As String
Private _UserName As String
Private _NiceName As String
Private _Tel As String
Private _Addr As String
Private _EMail As String
Private _Zip As String
Private _Role As Integer
Private _State As Integer Public Property UserId() As String
Get
Return _UserId
End Get
Set(ByVal Value As String)
_UserId = Value
End Set
End Property
Public Property UserName() As String
Get
Return _UserName
End Get
Set(ByVal Value As String)
_UserName = Value
End Set
End Property
Public Property NiceName() As String
Get
Return _NiceName
End Get
Set(ByVal Value As String)
_NiceName = Value
End Set
End Property
Public Property Tel() As String
Get
Return _Tel
End Get
Set(ByVal Value As String)
_Tel = Value
End Set
End Property Public Property Addr() As String
Get
Return _Addr
End Get
Set(ByVal Value As String)
_Addr = Value
End Set
End Property Public Property EMail() As String
Get
Return _EMail
End Get
Set(ByVal Value As String)
_EMail = Value
End Set
End Property Public Property Zip() As String
Get
Return _Zip
End Get
Set(ByVal Value As String)
_Zip = Value
End Set
End Property
Public Property State() As Integer
Get
Return _State
End Get
Set(ByVal Value As Integer)
_State = Value
End Set
End Property Public Property Role() As Integer
Get
Return _Role
End Get
Set(ByVal Value As Integer)
_Role = Value
End Set
End PropertyEnd Class
login.aspx.vb
.....
Dim reader As SqlDataReader = myCmd.ExecuteReader
myCmd.Dispose()
Dim obj As UserInfo = New UserInfo()
If reader.Read Then
obj.UserId = reader.Item("UserID")
obj.NiceName = reader.Item("NiceName")
obj.UserName = reader.Item("UserName")
obj.Tel = reader.Item("Tel")
obj.EMail = reader.Item("EMail")
obj.Addr = reader.Item("Addr")
obj.Zip = reader.Item("Zip")
obj.Role = reader.Item("Role")
Session("UserInfo")=obj
Session("UserId")=obj.UserId
Session("NiceName")=obj.NiceName
Session("UserName")=obj.UserName
Session("Tel")=obj.Tel
Session("EMail")=obj.EMail
Session("Addr")=obj.Addr
Session("Zip")=obj.Zip
Session("Role")=obj.Role
End If
myconn.Close()
.....SelfInfo.aspx.vb
Imports System
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControlsPublic Class SelfInfo:inherits Page
Public lbNiceName As Label
Public lbTel As Label
Public lbEMail As Label
Public lbAddr As Label
Public lbZip As Label
Public lbUserName As Label
Sub Page_Load(Sender As Object, E As EventArgs)
If Session("UserInfo")="" Then
Response.Redirect("../CommonUser/BuyBook.aspx") Else
lbUserName.Text=CStr(Session("UserName"))
lbNiceName.Text=CStr(Session("NiceName"))
lbAddr.Text=CStr(Session("Addr"))
lbTel.Text=CStr(Session("Tel"))
lbZip.Text=CStr(Session("Zip"))
lbEMail.Text=CStr(Session("EMail"))
End If
End Class换一种方式写也不行
Imports System
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControlsPublic Class SelfInfo:inherits Page
Public lbNiceName As Label
Public lbTel As Label
Public lbEMail As Label
Public lbAddr As Label
Public lbZip As Label
Public lbUserName As Label
Sub Page_Load(Sender As Object, E As EventArgs)
If Session("UserInfo") Is Nothing Then
Response.Redirect("../CommonUser/BuyBook.aspx")
Response.End()
Else
'读取Session中的用户信息,然后依次显示
Dim obj As UserInfo = CType(Session("UserInfo"), UserInfo)
lbUserName.Text = obj.UserName
lbNiceName.Text = obj.NiceName
lbAddr.Text = obj.Addr
lbTel.Text = obj.Tel
lbZip.Text = obj.Zip
lbEMail.Text = obj.EMail
End If
End SubEnd Class
Public Class UserInfo
Private _UserId As String
Private _UserName As String
Private _NiceName As String
Private _Tel As String
Private _Addr As String
Private _EMail As String
Private _Zip As String
Private _Role As Integer
Private _State As Integer Public Property UserId() As String
Get
Return _UserId
End Get
Set(ByVal Value As String)
_UserId = Value
End Set
End Property
Public Property UserName() As String
Get
Return _UserName
End Get
Set(ByVal Value As String)
_UserName = Value
End Set
End Property
Public Property NiceName() As String
Get
Return _NiceName
End Get
Set(ByVal Value As String)
_NiceName = Value
End Set
End Property
Public Property Tel() As String
Get
Return _Tel
End Get
Set(ByVal Value As String)
_Tel = Value
End Set
End Property Public Property Addr() As String
Get
Return _Addr
End Get
Set(ByVal Value As String)
_Addr = Value
End Set
End Property Public Property EMail() As String
Get
Return _EMail
End Get
Set(ByVal Value As String)
_EMail = Value
End Set
End Property Public Property Zip() As String
Get
Return _Zip
End Get
Set(ByVal Value As String)
_Zip = Value
End Set
End Property
Public Property State() As Integer
Get
Return _State
End Get
Set(ByVal Value As Integer)
_State = Value
End Set
End Property Public Property Role() As Integer
Get
Return _Role
End Get
Set(ByVal Value As Integer)
_Role = Value
End Set
End PropertyEnd Class
myCmd.Dispose()这样不对了吧..刚建立了readerz之后 myCmd就消亡了...那么还怎样读取得到数据啊.If reader.Read Then
obj.UserId = reader.Item("UserID")
obj.NiceName = reader.Item("NiceName")
obj.UserName = reader.Item("UserName")
obj.Tel = reader.Item("Tel")
obj.EMail = reader.Item("EMail")
obj.Addr = reader.Item("Addr")
obj.Zip = reader.Item("Zip")
obj.Role = reader.Item("Role")
Session("UserInfo")=obj
Session("UserId")=obj.UserId
Session("NiceName")=obj.NiceName
Session("UserName")=obj.UserName
Session("Tel")=obj.Tel
Session("EMail")=obj.EMail
Session("Addr")=obj.Addr
Session("Zip")=obj.Zip
Session("Role")=obj.Role
End If这么一段应该是没有作为了...因为if的条件为falsh.....