C# 回发时保持滚动位置和选定控件

C# 回发时保持滚动位置和选定控件,c#,asp.net,postback,C#,Asp.net,Postback,回到另一个基于网络的问题 当控件向服务器发出回发时,页面将刷新(良好)。页面也会卷回顶部,并失去所选的控制。如果它在回发后是相关的,则根据发生的更改,控件将变为可见或隐藏。即使页面可见性方面没有任何更改,焦点也会丢失,当前滚动也会重置。文本字段中输入的数据以及任何radiobutton/复选框选择都会保留。问题是制表符被重置为索引0,页面滚动被发送回页面顶部 我正在使用.NET4.0 我尝试在asp页面本身和web.config中添加MaintainScrollPositionOnPostbac

回到另一个基于网络的问题

当控件向服务器发出回发时,页面将刷新(良好)。页面也会卷回顶部,并失去所选的控制。如果它在回发后是相关的,则根据发生的更改,控件将变为可见或隐藏。即使页面可见性方面没有任何更改,焦点也会丢失,当前滚动也会重置。文本字段中输入的数据以及任何radiobutton/复选框选择都会保留。问题是制表符被重置为索引0,页面滚动被发送回页面顶部

我正在使用.NET4.0

我尝试在asp页面本身和web.config中添加MaintainScrollPositionOnPostback=“true”,但都没有成功。 我曾经尝试过使用和不使用Ajax updatepanel,当文本框文本更改或单选按钮更改时,使用条件更新触发关闭,回发仍然会导致滚动和索引丢失


任何IDE都会很棒。助教

首先,
MaintainScrollPositionOnPostback=“true”
在asp.net 2.0中有一个已知的bug,请参阅

另外,正确的语法是
maintainScrollPositionOnPostback
。(小写字母m)

我使用了
maintainScrollPositionOnPostback
但是IE中有很多问题,然后我使用asp.net AJAX控件工具包UpdatePanel,它解决了问题(页面没有滚动到顶部)并节省了一些带宽

编辑:

我想我理解你的问题,重点放在元素上,可以使用一些javascripts解决方法,se


希望有帮助。

嗨,谢谢你的回答。我刚刚编辑了我的问题,我应该早点发布。我在Ajax updatePanel和没有updatePanel的情况下都试过,两者都会出现相同的症状。我也在使用.NET4.0。正如你所建议的,我刚刚试着用M替换M,但是滚动仍然会发生。我已经遵循了以下步骤。这正是我需要的。你真是太棒了!我知道这是一篇老文章,但应该注意的是,IntelliSense说“MaintainScrollPositionOnPostback”大写字母“M”是正确的拼写。我必须从代码中删除“element.Focus()”。我将元素设置为.Focus(),似乎它覆盖了MaintainScrollPosition。