各位好:
    最近我做了一个后台登陆,遇到个问题,因为页面比较多,如果每个页面都做验证的话会写很多代码,我想把登陆验证代码写成一个页面,然后其他页面调用就可以了,但是我发现我写的代码的页面在其他页面调用的时候根本没有作用,比如我退出登陆,也就是把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"-->是不是我代码写错,请你们帮我看下吧,谢谢了!

解决方案 »

  1.   

    ,<!--#include file="check.aspx"-->这是asp的用法啊
      

  2.   

    上次一个做ASP.NET的告诉我这样可以,如果这样不行的话,请告诉我另外一个方法,非常感谢!
      

  3.   

    使用form验证。
    或者继承一个自己写的System.Web.UI.Page类
    或者使用用户控件
    或者使用母版页

    太多方法了
    而你却用了一个asp的方法。
      

  4.   

    如果每个页面都需要权限才能进入的话,那么就必须每页都检查权限问题,如Session等。
    实现方法也很简单,写一个类。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);这样就行了。呵呵
      

  5.   

    做个pagebase,各个页面去继承阿
      

  6.   

    做个pagebase,pagebase继承web.ui.page
    各个页面去继承pagebase
    pagebase里面做权限校验
      

  7.   

    <!--#include file="check.aspx"-->
    这个方法可行的
    你在每个页面都包含这个页面进来
    这个页面就不要写其他代码
    只要把下面的代码加进去就行了
    <%
    if(Convert.ToString(Session["cheak"])=="" && Session["cheak"]==null )
    {
    为空的话你要的操作就行了
    }
    %>
      

  8.   

    谢谢ASPNET_ASPNET()的回答,我按照你给的提示写的代码报错了!
    异常详细信息: 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 
      

  9.   

    我在网上搜到一个使用FORM验证的,好麻烦啊,我测试了几次还是有问题,谁能给我个比较容易懂的FORM验证,我跪求~谢了~~