セッション変数で何が起こっているのかを把握するために、デバッグ コードを少し追加しましたが、常に空のように見えます。
誰かが私が間違っていることを教えてもらえますか?
私はあまり Web 開発をしていないので、これはおそらく初歩的なミスです。
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
と、「PostBack ではありません!」というメッセージしか表示されません。または「ポストバック」。したがって、私のセッション変数は設定されていてはなりません。