asp.net - 使用 ASP.NET AJAX 控制工具包设置焦点

标签 asp.net

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

我尝试在 Page_Load、Page_PreRender 和 Page_Init 事件中设置焦点,并且焦点设置正确,但自动完成功能不起作用。如果我不设置焦点,一切都会正常,但我想设置它,以便用户不会有额外的点击。

我需要在一个特殊的地方设置焦点还是需要做其他事情才能完成这项工作?谢谢。

最佳答案

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

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

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

if (textBoxHasFocus) {
    $get("MainSearchBox_SearchTextBox").blur();
    $get("MainSearchBox_SearchTextBox").focus();
}  

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

关于asp.net - 使用 ASP.NET AJAX 控制工具包设置焦点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42830/

相关文章:

ASP.NET:获取*真实*原始 URL

css - 如何在 ASP.NET 中更改 Bootstrap CSS 文件?

asp.net - 可以手动将 OData 参数应用于 `.AsQueryable()` 的结果吗?

c# - 转换 List<T> 中的 IEnumerable

javascript - 服务器端的 AngularJS 变量

asp.net - css 停止工作 asp.net

javascript - 将 Fineuploader 与 ASP.NET 网络表单一起使用。对严格模式调用函数的访问被审查

asp.net - WCF vs ASPX webmethods vs ASMX webmethods

c# - 对 Web 控件进行单元测试时出现空错误

ASP.NET 动态添加的 LinkBut​​ton - OnClick 处理程序未被调用