页面中定义了两个字段,其中1个初始化了,另1个打算在不同的事件中赋给不同的值:
SqlConnectin conn=new SqlConnection( "..... ");
string sql;
有个BindGrid()方法,根据sql的值对表格进行不同的绑定;
Page_Load事件中if(!IsPostback)sql赋值为 "select..... ",调用BindGrid(),页面初始化时表格显示正确;
既然页面初始化了,那么sql就应该保存那值了,不会再为空了;(原以为是这样的,桌面程序绝对是这样的);
但是发现点击了表格的“下1页”按扭后(按扭事件不改变sql的值,只是BindGrid()并指向newPageindex),就会出错,发现此时sql==null了,在Page_Load事件已经赋的值丢失了,但是conn却仍然保持着;
同样是类的字段,为什么conn的值不会丢失,而sql却丢失了?
我将sql的值换为保存到Session中,然后在事件中取出来,运行可以正确,虽然如此,但我还是 不明白sql的值为什么会丢失....
------解决方案--------------------------------------------------------
事件没丢失
是你没明白 if(!IsPostback) 是什么意思吧?