我添加了一些调试代码,试图弄清楚我的 Session 变量发生了什么,它似乎总是空的。
有人可以告诉我我做错了什么吗?
这可能是一些新手错误,因为我不做太多的网络开发。
private const string PASSWORD = "PASSWORD";
protected void Page_Load(object sender, EventArgs e) {
if (String.IsNullOrEmpty(password)) {
lblMessage.Text = !IsPostBack ? "Not a PostBack!" : "A PostBack.";
} else {
ShowData(IsPostBack);
}
}
private string password {
get { return Session[PASSWORD] as string; }
set { Session[PASSWORD] = value; }
}
protected void Password_Click(object sender, EventArgs e) {
string val = txtPassword.Text.Trim();
if (val == ConfigurationManager.ConnectionStrings[PASSWORD].ConnectionString) {
password = val;
txtPassword.Text = null;
} else {
Response.Redirect(val);
}
}
private void ShowData(bool postType) {
// I would display my data here if it ever got to this point!
}
编辑:当Password_Click
事件触发时,我所看到的只是“不是回发!” 或“回邮”。所以,我的 Session 变量不能被设置。