1
 public partial class Page1 :System.Web.UI.Page
 {
      public static LGDP.LDGPSession var1 = null;

      private void Login(this, EventArgs e)
      {
           var1 = new LGDPSession(this, data, data);
      }

      public bool IsLoggedIn()
      {
           bool login = false;

           if (var1 != null)
           {
                login = true;
           }

           return var1;
      }
 }

如何从 Page2.apsx 访问 Page1 静态 var1 或函数 IsLoggedIn() ?

 public partial class Page2 :System.Web.UI.Page
 {
      Page1.(nothing shows up here)
 }

回答 ----- 在页面加载/回发中创建了单独的类并访问了公共变量

private static bool _login = false;

public static void SetLoggedIn(object lgdps)
{
    if (lgdps == null)
    {
        _login = false;
    }

    if (lgdps != null)
    {
        _login = true;
    }
}

public static bool IsLogin
{
    get { return _login; }
}
4

2 回答 2

3

您的函数IsLoggedIn无法Page1编译。它必须返回一些东西:

public bool IsLoggedIn()
{
  bool login = false;

  if (var1 != null)
  {
    login = true;
  }

  return login;
}

或者简单地说:

public bool IsLoggedIn()
{
  return var1 != null;
}

页面编译后,其成员应显示在智能感知中。

于 2012-09-08T20:50:07.953 回答
0

最好创建一个包含您的函数的基类:

public class BasePage : Page
{    
      public bool IsLoggedIn()
      {
           bool login = false;

           if (var1 != null)
           {
                login = true;
           }
      }

}

然后你可以IsLoggedIn从你继承的页面访问BasePage

public partial class Page1 : BasePage
{
}

public partial class Page2 : BasePage
{
  protected void Page_Load(object sender, EventArgs e)
  {
        if(IsLoggedIn())
        {
        }
  }   
}
于 2012-09-08T20:53:36.977 回答