昨天在项目中遇到了很奇怪的问题,就是按钮获取焦点的问题,我一直不能按照我的代码来控制按钮的焦点,最后我采用了笨的办法来实现我的功能,也就有了上一篇博客中的文章。今天我查了一下,原来是按钮的UseSubmitBehavior 属性,当我把这个属性设置为false以后,就可以控制我的焦点了,我们看一下MSDN对这个属性的描述:
使用 UseSubmitBehavior 属性来指定 Button 控件使用客户端浏览器的提交机制还是 ASP.NET 回发机制。默认情况下,此属性的值为 true,从而导致 Button 控件使用浏览器的提交机制。如果指定为 false,则 ASP.NET 页框架将客户端脚本添加到页面,以将窗体发送到服务器。
当 UseSubmitBehavior 属性为 false 时,控件开发人员可以使用 GetPostBackEventReference 方法来返回 Button 的客户端回发事件。GetPostBackEventReference 方法返回的字符串包含客户端函数调用的文本,可以插入到客户端事件处理程序中。
我们做个简单的测试,在页面上放一个按钮,分别设置该属性的true和false,然后我们对比产生的HTML页面源码:
我们可以看到设置为false的按钮的单击事件用dopostback来进行回发的。
以后还需要对控件的一些重要属性熟悉才可以提高工作的效率。