我有一个表单,当提交成功时会在页面上生成新元素,描述成功提交表单并向用户提供一些“后续步骤”信息。
此成功消息元素位于页面顶部,我想在提交表单后将用户的滚动位置置于此点。
我知道有各种各样的实现选项,我能想到的一切都像是黑客。任何干净有效的建议?最佳做法?
答案 0 :(得分:1)
为什么不使用AJAX?
没有表单提交,用户没有在页面上留下他们的位置,但是您可以使用javascript在DOM中的任何位置向用户插入消息。
答案 1 :(得分:0)
如果您正在执行ajax帖子,那么您可以使用类似jQuery scrollTop的内容将页面移动到特定位置。
点击此处查看演示:http://demos.flesler.com/jquery/scrollTo/
约什
答案 2 :(得分:0)
使用Javascript在您要滚动的位置在页面上添加命名锚点,然后使用其他javascript代码段导航到该锚点。
它不漂亮,但它最简单。
答案 3 :(得分:0)
尝试以下方法:
if (Page.IsValid)
Page.MaintainScrollPositionOnPostBack = false;
我认为默认情况下此属性为true,这会导致页面在回发时记住其当前滚动位置。如果您在后面的代码中关闭它,回发应该会将您发送回页面顶部。
答案 4 :(得分:0)
您可以使用SetFocus()方法将焦点设置为特定控件。但是,如果您的调用代码位于更新面板中,这可能不起作用。