【发布时间】:2013-10-07 20:25:09
【问题描述】:
我的屏幕上有 2 个更新面板。一个有一个文本框,另一个是gridview。我有一个计时器(在 UpdatePanel 之外),它每 5 秒刷新一次 gridview。包含文本框的 UpdatePanel 有一个按钮(在 UpdatePanel 之外),当按下时,在文本框中输入的内容会被添加到数据库中,并且文本框会被清除,所有这些都通过 UpdatePanel(ajax,没有页面加载)。
我遇到的问题是,当链接到计时器并刷新 gridview 的 UpdatePanel 时,它会将焦点从文本框上移开。我可以通过添加 codebdehind "System.Web.UI.ScriptManager.GetCurrent(this).SetFocus(this.txtNewComment);" 来关注它但这会将光标放在文本框的开头。如果我正在输入内容,它会搞砸我正在输入的内容,因为光标位于开头而不是结尾。
关于如何在计时器触发 UpdatePanel 时将光标准确地保持在文本框中的位置有什么想法吗?
通常您会使用此处所述的文本框的 Select() 函数 (http://msdn.microsoft.com/en-us/library/ms752349.aspx),但在 ASP.NET 中似乎不存在用于 MS 按钮的 Select()。
【问题讨论】:
-
您的计时器是否在带有 Gridview 的 UpdatePanel 中?还是在两个更新面板之外?如果它在两者之外,请尝试将其放在带有 GridView 的 UpdatePanel 内。
-
如果我将 Timer 放在 GridView 所在的 UpdatePanel 中,则没有任何变化。