跟数据库直接打交道的gridview控件就没必要开视图状态,因为修改直接在数据库执行,然后再体现于gridview控件。
也是跟数据库直接打交道的数据源控件sqldatasource也没必要开视图状态,道理同上。
客户端发送请求->服务器判断是第一次请求或回发->如果回发,取出存储在视图状态的值->程序运行期间,用户改变控件值,保存在视图状态。
把listbox1控件的值选中放到listbox2控件,再消除listbox1曾选中的值,这需要视图状态。
网页第一次加载,listbox1初始化好了值。用户选择一值,按添加按钮,网页回发,listbox1的值从视图状态减少,listbox2的值从视图状态增加。用户再次选择一值,用户第二次按添加按钮,网页再次回发,listbox1的值从视图状态减少,listbox2的值从视图状态增加。
取消了listbox1和listbox2控件的视图状态,网页第一次加载,listbox1初始化好了值。用户选择一值,用户按添加按钮,网页回发,listbox1的值减少,listbox2的值增加。用户再次选择一值,用户第二次按添加按钮,网页再次回发,listbox1的值没减少,listbox2的值没增加,反而是替换成刚选择的值。
合乎自然而生生不息。。。