单击按钮时Asp.net属性值设置为零

时间:2013-01-13 10:29:21

标签: asp.net

在我的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是什么。不清楚按钮点击是否返回了新的页面实例或者是什么?有什么指导吗?

1 个答案:

答案 0 :(得分:1)

您可以从页面加载中删除内容,因为数据在会话中,只需将属性更改为以下内容:

private int userid{ get{ return int.Parse(Session["userid"].ToString()); } }