各位好:
最近我做了一个后台登陆,遇到个问题,因为页面比较多,如果每个页面都做验证的话会写很多代码,我想把登陆验证代码写成一个页面,然后其他页面调用就可以了,但是我发现我写的代码的页面在其他页面调用的时候根本没有作用,比如我退出登陆,也就是把SESSION清空后(Session.Abandon())我用的这个,然后再单独登陆其他页面,一样能登陆,好象验证代码没起作用一样,我把我的验证代码发出来,还有调用代码:
bool login=false;
private void Page_Load(object sender, System.EventArgs e)
{
if(Session["name"].ToString()=="" && login!=true)
{
Response.Redirect("index.aspx");
}
// 在此处放置用户代码以初始化页面
}
这个验证页的前台页中我把<form>标签,@Page头去掉了,
在每个页面里我加的这样的代码,我是加在<body>与<form>之间的,<!--#include file="check.aspx"-->是不是我代码写错,请你们帮我看下吧,谢谢了!
最近我做了一个后台登陆,遇到个问题,因为页面比较多,如果每个页面都做验证的话会写很多代码,我想把登陆验证代码写成一个页面,然后其他页面调用就可以了,但是我发现我写的代码的页面在其他页面调用的时候根本没有作用,比如我退出登陆,也就是把SESSION清空后(Session.Abandon())我用的这个,然后再单独登陆其他页面,一样能登陆,好象验证代码没起作用一样,我把我的验证代码发出来,还有调用代码:
bool login=false;
private void Page_Load(object sender, System.EventArgs e)
{
if(Session["name"].ToString()=="" && login!=true)
{
Response.Redirect("index.aspx");
}
// 在此处放置用户代码以初始化页面
}
这个验证页的前台页中我把<form>标签,@Page头去掉了,
在每个页面里我加的这样的代码,我是加在<body>与<form>之间的,<!--#include file="check.aspx"-->是不是我代码写错,请你们帮我看下吧,谢谢了!
或者继承一个自己写的System.Web.UI.Page类
或者使用用户控件
或者使用母版页
。
太多方法了
而你却用了一个asp的方法。
实现方法也很简单,写一个类。using System.Web.UI;class MyLogin
{
public void CheckUser(Page page)
{
if(page.Session["name"].ToString()=="" && ……) //条件
{
page.Response.Redirect("index.aspx");
}
}
}
这样在每个页的Page_Load事件中写入MyLogin _mylogin=new MyLogin();_myLogin.CheckUser(this);这样就行了。呵呵
各个页面去继承pagebase
pagebase里面做权限校验
这个方法可行的
你在每个页面都包含这个页面进来
这个页面就不要写其他代码
只要把下面的代码加进去就行了
<%
if(Convert.ToString(Session["cheak"])=="" && Session["cheak"]==null )
{
为空的话你要的操作就行了
}
%>
异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。源错误:
行 12: {
行 13: bool login=false;
行 14: if(page.Session["name"].ToString()=="" && login!=true)
行 15: {
行 16: page.Response.Redirect("index.aspx");
源文件: d:\asp.net\recent\company1\admin\check.cs 行: 14