asp.net中,怎样判断当session为空,让它跳回首页;有很多页面,我不可能每个页面都判断下吧

ningyb 2010-10-18 05:00:58
asp.net中,怎样判断当session为空,让它跳回首页;有很多页面,我不可能每个页面都判断下吧,有没有好的方法哦?
...全文
1098 45 打赏 收藏 转发到动态 举报
写回复
用AI写文章
45 条回复
切换为时间正序
请发表友善的回复…
发表回复
phil999 2010-10-20
  • 打赏
  • 举报
回复
在global.asax的 beginRequest事件里搞
边城的刀声 2010-10-20
  • 打赏
  • 举报
回复
用HttpModule,看13楼
zoeforever 2010-10-20
  • 打赏
  • 举报
回复
建立一个页面,在page_load方法里面判断SESSION超时跳转。
然后在每个需要判断SESSION的页面头部只加上一句
Server.Execute("页面地址");
即可。
ningyb 2010-10-20
  • 打赏
  • 举报
回复
[Quote=引用 29 楼 zhoufoxcn 的回复:]
利用.net的内部机制在asp.net中实现身份验证
本文讲述利用.net中的内部机制在asp.net中实现统一身份验证,这在大型网站后台中统一控制身份验证是非常有用的。本文就是讲述了这种原理,并讲述了如何具体应用。

C# code

using System;
using System.Data;
using System.Configuration;
usi……
[/Quote]
您的方法感觉有 “杀鸡焉用牛刀” 的味道?
不过 有些东西 让我受益匪浅
ningyb 2010-10-20
  • 打赏
  • 举报
回复
[Quote=引用 34 楼 happy664618843 的回复:]
判断session是否为空 session[]==null{

}
[/Quote]
估计您还明白我的问题
ningyb 2010-10-20
  • 打赏
  • 举报
回复
[Quote=引用 38 楼 dick1026 的回复:]
实现IHttpModule,
拦截每个HTTP请求,实现你想要的功能。
[/Quote]
有实例吗
ningyb 2010-10-19
  • 打赏
  • 举报
回复
20L的有实例吗
daifangci 2010-10-19
  • 打赏
  • 举报
回复
实现方法很多,只看楼主最终用的哪种,web.config也试试
MSDNXGH 2010-10-19
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 dongxinxi 的回复:]

引用 5 楼 myhope88 的回复:
让每个页面都继承一个类,在这个类编写判断就行了吧


正确

其他的方法还有写在母版页中,或者放在同一个用户控件中
不过还是5楼的方法最贴切
[/Quote]
全解
Dylan-Wang 2010-10-19
  • 打赏
  • 举报
回复
一般的情况下没有太好的方法,写一个公共方法判断,没个页面Load事件调用吧,都是这么做的。
AsheBin 2010-10-19
  • 打赏
  • 举报
回复
实现IHttpModule,
拦截每个HTTP请求,实现你想要的功能。
fwacky 2010-10-19
  • 打赏
  • 举报
回复
[Quote=引用 29 楼 zhoufoxcn 的回复:]
利用.net的内部机制在asp.net中实现身份验证
本文讲述利用.net中的内部机制在asp.net中实现统一身份验证,这在大型网站后台中统一控制身份验证是非常有用的。本文就是讲述了这种原理,并讲述了如何具体应用。

C# code

using System;
using System.Data;
using System.Configuration;
usi……
[/Quote]
顶这个!
qqdd2716 2010-10-19
  • 打赏
  • 举报
回复
继承一个父页面,如:BasePage,在BasePage里面去判断。
或者用一个母板页,在母板页的PageLoad里面去判断。
  • 打赏
  • 举报
回复
楼上有人说了,做个基类,在里面判断session的值,这样每个页面继承一下就可以了
要不就httpmodel中判断也可以的,推荐第一种
happy664618843 2010-10-19
  • 打赏
  • 举报
回复
判断session是否为空 session[]==null{

}
moshu12 2010-10-19
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 wuyq11 的回复:]
通过BasrPage或IHtttpMoudle实现
public class BasePage : System.Web.UI.Page
{
public BasePage()
{

}
protected override void OnInit(EventArgs O)
{
if (base.Session["UserI……
[/Quote]

这个方法最好。我们一直用的这种
z812183667 2010-10-19
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 wuyq11 的回复:]
通过BasrPage或IHtttpMoudle实现
public class BasePage : System.Web.UI.Page
{
public BasePage()
{

}
protected override void OnInit(EventArgs O)
{
if (base.Session["UserI……
[/Quote]
+1
我们以前也是这样做的!
panzhige 2010-10-19
  • 打赏
  • 举报
回复
我的问题和楼主的是一样的额,准备试试28楼的方法。。。。。。
dengjingjian628 2010-10-19
  • 打赏
  • 举报
回复
如这样:
void Session_Start(object sender, EventArgs e)
{
//在新会话启动时运行的代码
if (Session["UserId"] == null || Session["UserId"].ToString().Equals(""))
{
Response.Redirect("xxx.aspx");
}
}

这个文件里面还有一些方法,可以研究研究~!
周公 2010-10-19
  • 打赏
  • 举报
回复
利用.net的内部机制在asp.net中实现身份验证
本文讲述利用.net中的内部机制在asp.net中实现统一身份验证,这在大型网站后台中统一控制身份验证是非常有用的。本文就是讲述了这种原理,并讲述了如何具体应用。

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

/// <summary>
/// AdminPage是后台所有需要身份验证的页的基类
/// </summary>
public class AdminPage:System.Web.UI.Page
{
public AdminPage()
{
//处理加载事件
this.Load += new EventHandler(AdminPage_Load);
}

void AdminPage_Load(object sender, EventArgs e)
{
//假设用户登录成功之后会设置一个名为“UserInfo”的Session
//假设用户登录页面login.aspx位于网站根目录下的Admin文件下
if (Session["UserInfo"] == null)
{
//使用~来保证无论在什么目录层次进行身份验证都能跳转到后台登录页面
Response.Redirect("~/Admin/Login.aspx");
}
}
}
加载更多回复(24)

62,271

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧