日期:2014-05-19  浏览次数:20725 次

Postback 后,哪些数据会丢失,哪些数据会继续存在?
页面中定义了两个字段,其中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) 是什么意思吧?