我知道有很多类似的问题(我已经查过谷歌了),就像我现在问的一样。我在谷歌上读到的所有选项/建议都试过了,但仍然对我没有用。我尝试在我的页面顶部添加"maintainScrollPositionOnPostBack=true“,尝试将它添加到我的web.config文件中,我还注释掉了控件中的所有.Focus,因为我在某个地方读到它将覆盖maintainScrollPositionOnPostback。因为某种原因对我没什么用。
只是一个小小的背景:
我有一个下拉列表,其中有一个相应的文本框,当用户选择列表项时会出现该文本框。使用maintainScrollPositionOnPostback=true;当我选择特定的列表项时,页面滚动到页面的顶部,然后滚动回下拉列表和文本框所在的位置。这有点烦人,因为我在这一页上有一堆下拉列表,每次用户选择一个项目时,它的行为都会像现在一样。
发布于 2022-09-26 10:47:52
当我选择特定的列表项时,页面滚动到页面的顶部,然后滚动回下拉列表和文本框所在的位置。
然后你回到正确的责骂位置,这是有效的-只是没有那么好。
您没有提到有多少组合框(下拉列表(ddl))。
两种解决方案。
对ddl使用客户端JavaScript隐藏/显示文本框。如果您发布了一些标记,我可以发布一些简单的JavaScript代码来隐藏/显示文本框。但是,没有我们在这里看到标记,这是很难做到的。
下一个主意?使用更新面板。
所以,就在表单标记So管理器控件之后插入。
那你的3-4 ddl在哪里?
这样做,所以在表单选项卡之后,添加脚本管理器。
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
然后在3-4 dll所在的页面中,执行以下操作:
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
----> your 3-4 ddl's and text boxes go here.
</ContentTemplate>
</asp:UpdatePanel>
所以,尝试上面的-一个更新面板将做什么,我们称之为“部分”页面回发-屏幕将不会跳转。实际上,您可以删除maintainScrollPositionOnPostback。
https://stackoverflow.com/questions/73849522
复制相似问题