前几天,做了在线考试系统,我使用的是datalist+radiobutton控件,在页面载入中绑定数据是成功的,可是当我点提交按钮时,数据库中显示的分数是0。这个问题我想了好长时间都没搞明白什么意思,后来打断点,发现所有的radiobutton.checked都是false,所以,即使你选择了那项,系统也没有把选择的项设置为true.
这样造成的问题就是取不到分数。
后来,我在载入页面中加入if(!ispostback),程序运行正常了,分数也正确取到了。
最后我分析下了原因:
当你点击“提交”按钮的时候,因为提交按钮是服务器控件,那么服务器有将数据回传给客户端,考试页面被刷新,这时提交事件中还没有运行统计分数代码。这样,你选择的项都变成初始状态false了,所以就取不到分数。
所以Page.IsPostBack很重要!
浙公网安备 33010602011771号