情况如下:我有一个基类页WebPage,这个类继承于System.Web.UI.Page我项目中所有的页都继承于我的WebPage基类页,但现在有个问题,如下:比如说,我做的页面A继承于WebPage页面基类,则在页面A中调用WebPage的函数Opt1()和Opt2()都没有问题但是,现在我想在WebPage页面基类当中,使用Opt1()方法直接调用Opt2()方法(Opt1()和Opt2()都不是静态方法),这样却不可以!
看来我对继承的概念还是不清楚,请大家帮我讲一下谢谢啦

解决方案 »

  1.   


    哦~谢谢大家~不好意思~~代码如下:基类页当中的第一个函数:得到当前登录用户的用户名protected string GetCurrentLoginUserName()
    {
       MembershipUser _currentusername = Membership.GetUser();
       return _currentusername.ToString();
    }
    基类页当中的第二个函数:进行用户身份认证,如果通过认证则记录日志信息protected void UserAuthenticate(string username, string password)
    {
       string _username = CleanString(username);
       string _password = CleanString(password);   Log objLog = new Log();   if (Membership.ValidateUser(_username, _password))
       {
           objLog.WriteLog("安全性", "审核成功", DateTime.Now, GetCurrentPage(false), "用户" + GetCurrentLoginUserName() + "成功登录", GetCurrentLoginUserName(), GetCurrentLoginUserRoles());       FormsAuthentication.RedirectFromLoginPage(_username, false); 
        }
       else
        {
           objLog.WriteLog("安全性", "审核失败", DateTime.Now, GetCurrentPage(false), "用户" + GetCurrentLoginUserName() + "登录失败", GetCurrentLoginUserName(), "未知");        return;
         }
    }
    现在的情况是:1、如果我去掉第二个函数的记录日志的部分,则一切OK,在所以继承于此基类页的页面当中,都可以正常调用这两个函数;2、如果我把第二个函数的记录日志部分加上,由于第二个函数调用了第一个函数,所以在第一个函数部分会报错误:“未将对象引用设置到对象的实例”实在搞不懂了,大家帮我看看~~十分感谢^o^
      

  2.   


    帮忙看看啊~谢谢大伙~~hoho~~
      

  3.   

    MembershipUser _currentusername = Membership.GetUser();
       return _currentusername.ToString();
    这里的currentusername没有得到数据,你的currentusername 数据是怎么得到的,会不会是因为你在执行UserAuthenticate(string username, string password)时,有些数据还有初始化,所以得不到currentusername。
    应是你的Membership.GetUser();这里有问题。
      

  4.   


    确实是Membership.GetUser()这个方法没有取到数据,提示_currentusername为null