updatapanel里的timer控件 会使updatapanel外的textbox焦点消失,我用timer控制一个label显示时间,lable和timer都在updatapanel里面。然后我在外面登陆textbox输入账号密码的时候,他刷新一次,textbox焦点就消失一次,这是怎么回事?
------解决方案--------------------------------------------------------
不管用不用updatapanel
刷新了 焦点自然就消失
------解决方案--------------------------------------------------------
用firebug看看就知道返回了什么数据,也就知道了是什么原因了
------解决方案--------------------------------------------------------
UpdatePanel其实严格说不是简单的ajax,而是重量级的ajax。它确实不断提交/刷新界面的(而并不是你轻量级地自己处理数据提交),只不过你感觉不到而已。
如果要设置焦点,可以使用 Control.Focus() 来完成。
尽量不要使用Timer控件。因为UpdatePanel实在是“太重”了,每一次都整个重建服务器端整个页面控件。如果你只是轻量级地处理一些UI,那么学学javascript编程吧。asp.net控件在某些必要的javascript编程方面并没有用处。
------解决方案--------------------------------------------------------
不管“它返回了什么”,UpdatePanel都是提交整个Form的,而不是你所平常编写的ajax的那种方式来提交数据的!