又被Page.IsPostBack摆了一道
一不小心,逻辑错误使人很郁闷。
点击更新,结果更新后的数据竟然是空的。查了类的设计和页面的调用,都很正常,没有提示任何错误!
使用sql server 2000 提供的事件探查器查看执行网页之后,出现的数据库语句,发现提交的数据确实是空的,除了一个在session中读出来的变量之外。
经过仔细查看,终于发现是Page.IsPostBack的问题,在post之前,页面其实会刷新,导致读取数据动作再一次运行,结果当然读到空的数据。
解决办法,在执行读取动作时,使用Page.IsPostBack进行判断,只有不是Post的页面加载,才调用数据读取函数。