ASP.NET Focus将页面滚动到输入

时间:2010-12-20 20:29:27

标签: asp.net focus maintainscrollpositionon

我在UpdatePanel中有一些文本框/标签。当我从其中一个文本框中选中时,必须使用某些文本更新标签。这会导致焦点在页面上重置为最顶层的元素。

这是一种数据输入表单,用户希望根本不必使用鼠标。我可以将焦点设置在代码中的正确文本框中:

Page.SetFocus(tbxInput);

tbxInput.Focus();

在IE中,浏览器滚动位置保持不变(呜呜!)。在Chrome和Firefox中它不是;调整滚动位置,以便聚焦文本框是页面上显示的最后一个元素。这对用户来说真的很不安。

我在web.config中使用以下规则:

<pages theme="Default" styleSheetTheme="Default" maintainScrollPositionOnPostBack="true" validateRequest="false">

我如何实现IE的行为?

2 个答案:

答案 0 :(得分:1)

对于这种事情,我从javascript更新标签文本(可能使用AJAX调用到Web服务或页面方法)。

答案 1 :(得分:0)

使用asp.net AJAX UpdatePanel是一个选项。您使用的是哪个版本的.net框架。

作为per this和4.0,它应该可以工作,但我还没试过。