session 过期的时候 让用户下一次操作跳转到登录页 不管用户当前在哪个页面, 只要过期了 用户才进行操作 就提示 再跳转 ,没有用模板页的话要在每个页面都判断么 这样很烦哎session 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 写个基类,比如basepage,它继承于System.Web.UI.Page,然后在需要验证登录的页面继承这个basepage。其中basepage可以在构造函数或页面事件(楼主先看看页面的生命周期)中写判断用户登录验证的方法 同意3楼,现在一般都会写个基类来继承System.Web.UI.Page,然后自己建的每个页面都继承自这个基类。这样做的好处很显然,将每个页面都需要判断的地方在这个基类里写一次就好了。这是面向对象的思想的简单应用,也是当前项目开发经常采用的做法。 一般指page_load这个事件吧?那子类页面里边的 page_load 和basepage里边的page_load 会有影响不 ,还是说basepage里边的page_load先执行 就像母版页和内容页的关系那样 一般指page_load这个事件吧?那子类页面里边的 page_load 和basepage里边的page_load 会有影响不 ,还是说basepage里边的page_load先执行 就像母版页和内容页的关系那样不过我觉得page_inite 里写会好点吧 不用所用的控件什么的都生成完了,会快一点 一般指page_load这个事件吧?那子类页面里边的 page_load 和basepage里边的page_load 会有影响不 ,还是说basepage里边的page_load先执行 就像母版页和内容页的关系那样不过我觉得page_inite 里写会好点吧 不用所用的控件什么的都生成完了,会快一点http://blog.csdn.net/joyhen/article/details/8477969 3楼的方法可以,不过要修改每个页面,尝试HttpModule具体写法你自己查网上了 利用HttpHandler验证,如果Session丢失,则通过Response对象将登录页输出到客户端 能用母版页就用母版页吧。第二种解决方案:使用 用户控件,也就是传说中的.ascx文件,比如你定义一个CheckLogin.ascx核心代码如下: protected void Page_Load(object sender, EventArgs e) { if (!(new Company().CompanyID > 0)) Response.Redirect("~/Company/LoginAgain.aspx", true); // 这个控件加载时,,判断是否登录,没登录则强制跳转。 这里要注意的一点是,千万别把这个判断代码放到if (IsPostBack)块里,不然死都不懂怎么死,因为我们需要的是,无论哪个页面,只要存在有这个验证控制,则每次页面打开,刷新或者回调,都会执行这里的代码,如果加到if (IsPostBack)块里,理论上是没影响,但是,哥还是建议你别这么玩,除非你自己去测试过 }然后,我们在每一个需要用到登录验证的页面都一拖一放,把上面这个用户控件丢进页面中记住!因为aspx页面解释器是从上到下,从左到右顺序解释HTML源码的,所以,为了保证你的登录验证第一时间内被执行,请尽量把CheckLogin.ascx作为位置第一的元素丢到子页面的<form id="form1" runat="server">后面,也就是尽量让它紧挨着,后面才是别的页面元素内容。这样,就能保证页面在加载后面的数据内容之前,第一时间先执行验证控件里的那段验证代码了,这样,第一时间发现没登录,就被强制跳转去了,不会因没登录而执行后面的代码出错。这里是子页面拖放验证控件后的例子:<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="Company_Default" %><%@ Register src="UserControls/CheckLogin.ascx" tagname="CheckLogin" tagprefix="uc1" %><!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>无标题页</title>.....</head><body> <form id="form1" runat="server"> <uc1:CheckLogin ID="CheckLogin1" runat="server" /> <div id="contact" class="over"> 嗯嗯 这个方法和 楼上basepage的思想差不多 都挺方便的 thanks 关于点击后退按钮后的页面刷新!! SqlParameter问题 如何从数据库image类型读取图片显示到网页,用SqlDataReader 我自己做的asp.net网站,但是上传后访问不起~~~ 什么是工厂模式呀?有必要吗? 船公司招聘程序员2名 ACCESS数据库中能否直接将update语句写在代码中,而实现更新的啊? Log4net 怎么试都不行,help me 问题解决。。。 对方给出SQL Server的用户名和密码,请问如何把数据库放到远程的虚拟主机上?详细操作。 C# 切换输入法问题 asp.net开发fckeditor编辑器控件插入图片时点击按钮发送到服务器没有反应
一般指page_load这个事件吧?那子类页面里边的 page_load 和basepage里边的page_load 会有影响不 ,还是说basepage里边的page_load先执行 就像母版页和内容页的关系那样
一般指page_load这个事件吧?那子类页面里边的 page_load 和basepage里边的page_load 会有影响不 ,还是说basepage里边的page_load先执行 就像母版页和内容页的关系那样不过我觉得page_inite 里写会好点吧 不用所用的控件什么的都生成完了,会快一点
一般指page_load这个事件吧?那子类页面里边的 page_load 和basepage里边的page_load 会有影响不 ,还是说basepage里边的page_load先执行 就像母版页和内容页的关系那样不过我觉得page_inite 里写会好点吧 不用所用的控件什么的都生成完了,会快一点
http://blog.csdn.net/joyhen/article/details/8477969
尝试HttpModule
具体写法你自己查网上了
能用母版页就用母版页吧。第二种解决方案:使用 用户控件,也就是传说中的.ascx文件,比如你定义一个CheckLogin.ascx核心代码如下:
protected void Page_Load(object sender, EventArgs e)
{
if (!(new Company().CompanyID > 0)) Response.Redirect("~/Company/LoginAgain.aspx", true); // 这个控件加载时,,判断是否登录,没登录则强制跳转。 这里要注意的一点是,千万别把这个判断代码放到if (IsPostBack)块里,不然死都不懂怎么死,因为我们需要的是,无论哪个页面,只要存在有这个验证控制,则每次页面打开,刷新或者回调,都会执行这里的代码,如果加到if (IsPostBack)块里,理论上是没影响,但是,哥还是建议你别这么玩,除非你自己去测试过
}
然后,我们在每一个需要用到登录验证的页面都一拖一放,把上面这个用户控件丢进页面中记住!因为aspx页面解释器是从上到下,从左到右顺序解释HTML源码的,所以,为了保证你的登录验证第一时间内被执行,请尽量把CheckLogin.ascx作为位置第一的元素丢到子页面的<form id="form1" runat="server">后面,也就是尽量让它紧挨着,后面才是别的页面元素内容。这样,就能保证页面在加载后面的数据内容之前,第一时间先执行验证控件里的那段验证代码了,这样,第一时间发现没登录,就被强制跳转去了,不会因没登录而执行后面的代码出错。这里是子页面拖放验证控件后的例子:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="Company_Default" %><%@ Register src="UserControls/CheckLogin.ascx" tagname="CheckLogin" tagprefix="uc1" %><!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>无标题页</title>
.
.
.
.
.
</head>
<body>
<form id="form1" runat="server">
<uc1:CheckLogin ID="CheckLogin1" runat="server" />
<div id="contact" class="over">