我正在创建一个ASP.net应用程序。我用项填充ListBox控件,并使用列表框的PreRender事件根据控件中最大的项设置其宽度。
但是在呈现ListBox之后,当我第一次单击ListBox中的某个项时,PreRender事件会触发并从ListBox中移除焦点(这个事件不必要地触发,因为ListBox已经呈现)。第二次单击ListBox中的项目时,PreRender事件不会触发并保持焦点。
这种行为正常吗?是什么导致了这种行为?
如果不是回发,则在ListBox上填充PageLoad,并使用默认值。列表框是在TextChanged事件上填充的( TextBox用于在DB中进行搜索)
编辑:
我注释掉了PreRender事件,这种行为并没有消失。现在,当我从TextBox中移除焦点并从ListBox中选择一项时,我想这可能是由TextBox中的一个项目引起的。
这方面的证据是:我有一个gif,它显示在来自TextBox的请求的开始和结束之间(加载指示符),并且当我在呈现后第一次从ListBox中选择一个项时,gif是可见的。第二次没有问题。
使用AutoPostBack属性指定当TextBox控件失去焦点时是否会自动回发到服务器。在TextBox控件中按ENTER或TAB键是更改焦点的最常见方法。
我已经找到了我报告的行为发生的原因。我能不能让TextBox在失去注意力的情况下不回发?很高兴在TextChanged上发帖,这就足够了。
发布于 2013-12-14 10:16:02
使用AutoPostBack属性指定当TextBox控件失去焦点时是否会自动回发到服务器。在TextBox控件中按ENTER或TAB键是更改焦点的最常见方法。
我已经找到了我报告的行为发生的原因。现在我将搜索如何停止自动跟踪失去焦点。
https://stackoverflow.com/questions/20581742
复制相似问题