ASP.net ページで、セッション変数をプライベート プロパティに割り当てています。Page_Load
private int userid{ get; set;}
if (!IsPostBack)
{
if (Session["userid"] != null)
{
userid= int.Parse(Session["userid"].ToString());
}
}
そして、私が使用している追加ボタンのクリックイベントでuserid
protected void btnAdd_Click(object sender, EventArgs e)
{
doSomething(userid);
}
最初は値が取得されてuserid
プロパティに保存されますが、btnAdd_Click
ではuserid
0 になります。コードをブロックの外に移動したことで問題は解決しましたが、ページの読み込み時にプロパティが設定されていると、プロパティをif(!IsPostBack)
何に設定したのか疑問に思いました。ボタンをクリックすると、ページの新しいインスタンスが返されるかどうかが明確ではありませんか? ガイダンスはありますか?userid
zero