我在 AJAX UpdatePanel 内的表单上有一堆用户控件,其中包含几个控件,包括一个 TextBox。
这些用户控件中的每一个都构成数据输入表单上的一个字段。一些字段已打开 AutoPostBack 并触发一个事件,该事件更新另一个表单字段服务器端中的值。
但是,当部分回发返回并更新计算字段时,表单焦点丢失 - 表单上的第一个字段重新获得焦点。因此,该表格对于数据输入毫无用处。
我已经看到了一些解决方法,包括计算服务器端下一个要关注的字段并使用 ScriptManager.SetFocus(),在表单中传递下一个 UserControl,但我无法让它与我的用户控件一起使用。无论如何,这仍然感觉像是一个 hack,令人失望的是 UpdatePanel 不仅仅让这项工作发挥作用。
使用 ASP.NET 4.0、Visual Studio 2010。