Session丢失问题
时间:2011-12-24
来源:互联网
Imports System
Imports System.Data
Imports System.Data.SqlClient
Imports DAL.zl.DAL_zl
Imports BLL.zl.BLL_zl
Imports System.Text
Partial Public Class zl_takemat
Inherits System.Web.UI.Page
Dim zltakematbll As New zl_takematBLL()
Dim systemthreetablebll As New system_threetableBLL()
Dim baseprojectpbll As New baseprojectpBLL()
Dim basematbll As New base_MatBLL()
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Session("userName") = "" Or Session("userName") Is Nothing Then
Response.Write("<script>alert('登陆超时,请重新登录!');top.location='../Default.aspx';</script>")
End If
If Not IsPostBack Then
BindDropdownList()
PageBind()
End If
End Sub
#Region "加载绑定数据"
Public Sub PageBind()
If Session("userName") = "" Or Session("userName") Is Nothing Then
Response.Write("<script>alert('登陆超时,请重新登录!');top.location='../Default.aspx';</script>")
End If
Dim ds As New DataSet()
If Session("realName") = "系统管理员" Then
ds = zltakematbll.GetList(" order by a.takeid desc ")
Else
ds = zltakematbll.GetList(" and comp_id=" & Integer.Parse(Session("compId")) & " order by a.takeid desc ")
End If
gridview_takemat.DataSource = ds
gridview_takemat.DataBind()
End Sub
#End Region
我在多处地方写了判断 还是出错 本来在Page_load 中写一个就好的
<sessionState mode="InProc" stateConnectionString="tcpip=127.0.0.1:42424" sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes" cookieless="false" timeout="1"/>
我设置1分钟过期测试。。。 什么原因报一下错呢?
值不能为空。
参数名: String
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.ArgumentNullException: 值不能为空。
参数名: String
源错误:
执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。
堆栈跟踪:
[ArgumentNullException: 值不能为空。
参数名: String]
System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal) +7471210
System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info) +119
PDMUI.zl_takematEdit.PageBind() +78
PDMUI.zl_takematEdit.Page_Load(Object sender, EventArgs e) +278
System.Web.UI.Control.OnLoad(EventArgs e) +99
System.Web.UI.Control.LoadRecursive() +50
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +627
Imports System.Data
Imports System.Data.SqlClient
Imports DAL.zl.DAL_zl
Imports BLL.zl.BLL_zl
Imports System.Text
Partial Public Class zl_takemat
Inherits System.Web.UI.Page
Dim zltakematbll As New zl_takematBLL()
Dim systemthreetablebll As New system_threetableBLL()
Dim baseprojectpbll As New baseprojectpBLL()
Dim basematbll As New base_MatBLL()
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Session("userName") = "" Or Session("userName") Is Nothing Then
Response.Write("<script>alert('登陆超时,请重新登录!');top.location='../Default.aspx';</script>")
End If
If Not IsPostBack Then
BindDropdownList()
PageBind()
End If
End Sub
#Region "加载绑定数据"
Public Sub PageBind()
If Session("userName") = "" Or Session("userName") Is Nothing Then
Response.Write("<script>alert('登陆超时,请重新登录!');top.location='../Default.aspx';</script>")
End If
Dim ds As New DataSet()
If Session("realName") = "系统管理员" Then
ds = zltakematbll.GetList(" order by a.takeid desc ")
Else
ds = zltakematbll.GetList(" and comp_id=" & Integer.Parse(Session("compId")) & " order by a.takeid desc ")
End If
gridview_takemat.DataSource = ds
gridview_takemat.DataBind()
End Sub
#End Region
我在多处地方写了判断 还是出错 本来在Page_load 中写一个就好的
<sessionState mode="InProc" stateConnectionString="tcpip=127.0.0.1:42424" sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes" cookieless="false" timeout="1"/>
我设置1分钟过期测试。。。 什么原因报一下错呢?
值不能为空。
参数名: String
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.ArgumentNullException: 值不能为空。
参数名: String
源错误:
执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。
堆栈跟踪:
[ArgumentNullException: 值不能为空。
参数名: String]
System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal) +7471210
System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info) +119
PDMUI.zl_takematEdit.PageBind() +78
PDMUI.zl_takematEdit.Page_Load(Object sender, EventArgs e) +278
System.Web.UI.Control.OnLoad(EventArgs e) +99
System.Web.UI.Control.LoadRecursive() +50
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +627
作者: somnusnrlq 发布时间: 2011-12-24
使用basepage判断session
启用asp.net状态服务,保存SESSION
数据库查询用户状态
启用asp.net状态服务,保存SESSION
数据库查询用户状态
作者: wuyq11 发布时间: 2011-12-24
Session("compId")这个值是Nothing导致的。
作者: CloneCenter 发布时间: 2011-12-24
做一个 pageBase页面,让你所有的页面都继承它,
在pageBase 的pageLoad中判断session是否存在,如果不存在,则跳至 login页
再有,设置 asp.net_status 的服务自动启动
在pageBase 的pageLoad中判断session是否存在,如果不存在,则跳至 login页
再有,设置 asp.net_status 的服务自动启动
作者: keenweiwei 发布时间: 2011-12-24
<sessionState mode="StateServer" 开启ASP.NET 状态服务
作者: q107770540 发布时间: 2011-12-24
问题这样解决了 求指教
If Session("userName") = "" Or Session("userName") Is Nothing Then
Response.Write("<script>alert('登陆超时,请重新登录!');top.location='../Default.aspx';</script>")
Return
End If 多了一个return
If Session("userName") = "" Or Session("userName") Is Nothing Then
Response.Write("<script>alert('登陆超时,请重新登录!');top.location='../Default.aspx';</script>")
Return
End If 多了一个return
作者: somnusnrlq 发布时间: 2011-12-26
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28