[英]access static variable from aspx page
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 static var1或函數IsLoggedIn()?
public partial class Page2 :System.Web.UI.Page
{
Page1.(nothing shows up here)
}
答案-----在pageload / postback中創建了單獨的類並訪問了public var
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; }
}
您的Page1
中的函數IsLoggedIn
無法編譯。 它必須返回一些東西:
public bool IsLoggedIn()
{
bool login = false;
if (var1 != null)
{
login = true;
}
return login;
}
或者干脆:
public bool IsLoggedIn()
{
return var1 != null;
}
頁面編譯后,其成員應顯示在intellisense中。
最好用你的函數創建一個基類:
public class BasePage : Page
{
public bool IsLoggedIn()
{
bool login = false;
if (var1 != null)
{
login = true;
}
}
}
然后,當您從BasePage
繼承時,可以從您的頁面訪問IsLoggedIn
public partial class Page1 : BasePage
{
}
public partial class Page2 : BasePage
{
protected void Page_Load(object sender, EventArgs e)
{
if(IsLoggedIn())
{
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.