c# - c# 如何将asp.net页面移动到顶部

标签 c# asp.net visual-studio-2013 webforms code-behind

如果最终用户向下滚动页面,我想通过单击按钮将页面移回顶部。用户点击按钮,我进行验证。错误消息位于页面顶部,按钮位于页面底部。如果某些内容无效,那么我想将用户滚动回页面顶部,以便他们可以看到错误消息。

我该怎么做?除非必须,否则我不想使用 java 脚本。是否可以从后面的代码在 C# 中执行此操作?

我试过这个:

ScriptManager.RegisterStartupScript(Page, this.GetType(), "ScrollPage", "scrollToTop();", true);

在运行时我收到错误:0x800a1391 - JavaScript 运行时错误:'scrollToTop' 未定义

最佳答案

您可以更改代码隐藏以使用以下内容。

ScriptManager.RegisterStartupScript(Page, this.GetType(), "ScrollPage", "window.scroll(0,0);", true);

此处 window.scroll(x,y) 表示滚动的位置 (x-cord, y-cord)。我使用 0,0 滚动到顶部。

你用过 scrollToTop ,要使用它你需要在 aspx 中有这个功能,或者使用我的。

有关更多信息,请参阅此 - http://www.w3schools.com/jsref/met_win_scrollto.asp

更新

由于 OP 使用 updatepanel,我有一个建议可以实现相同的目的。下面使用。我已经审阅了this .

<script type="text/javascript" language="javascript">
    Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);
    function EndRequestHandler(sender, args)
    {
       scrollTo(0,0);
    }
</script>

关于c# - c# 如何将asp.net页面移动到顶部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27428979/

相关文章:

c# - 为什么在 tempData 中添加很多项目时 tempData 总是 null?

c# - 用于匹配 Google 视频网址中两个视频 ID 之一的正则表达式

c# - 如何使用 ASP.net Core 在布局 View 中获取 url?

c# - 将字符串中的时间转换为 UTC 时间?

javascript - OpenLayers map 未正确加载

c++ - 代码仅在 Visual Studio 调试中有效,但在 Release模式和 .exe 中均无效

c++ - 为什么我的 Win32(c++, visual studio 2013) 窗口没有出现?

javascript - 是否有访问 JSON.parse XMLHTTPRequest.responseText 的通用方法?

c# - 如何在 Page_Load 获取用户本地时间

windows - VS 2013内核模式驱动程序调试