使用ASP.NET AJAX Control Toolkit设置焦点

Jon*_* S. 5 asp.net

我正在使用ASP.NET AJAX控件工具包中的自动完成控件,我遇到的问题是,当我将焦点设置为指定的文本框时,自动完成功能不会填充.

我已尝试在Page_Load,Page_PreRender和Page_Init事件中设置焦点,并且焦点设置正确但AutoComplete不起作用.如果我没有设置焦点,一切正常,但我想设置它,以便用户没有额外的点击.

是否有一个特殊的地方我需要设置焦点或我需要做的其他事情来使这项工作?谢谢.

Gle*_*ven 3

我们遇到了完全相同的问题。我们要做的就是在页面底部编写一个脚本,该脚本会快速模糊然后重新聚焦到文本框。您可以在这里查看(非常hacky)解决方案: http: //www.drive.com.au

文本框 ID 是MainSearchBox_SearchTextBox。看一下第 586 行,您可以看到我在哪里连接所有事件(我实际上在这方面使用原型。

基本上,在文本框的焦点事件上,我将一个名为 true 的全局变量设置textBoxHasFocus为 true,在模糊事件上,我将其设置为 false。我将页面的加载事件称为此脚本:

if (textBoxHasFocus) {
    $get("MainSearchBox_SearchTextBox").blur();
    $get("MainSearchBox_SearchTextBox").focus();
}  
Run Code Online (Sandbox Code Playgroud)

这将重置文本框。这确实很狡猾,但这是我能找到的唯一解决方案