如何在 C# 中将 asp.net 页面移动到顶部

本文关键字:移动 顶部 net asp 中将 | 更新日期: 2023-09-27 18:34:06

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

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

我试过这个:

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

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

如何在 C# 中将 asp.net 页面移动到顶部

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

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

这里window.scroll(x,y)的意思是,在哪里滚动(x-线,y-线)。我用 0,0 滚动到顶部。

你已经使用了scrollToTop,要使用它,你需要在aspx中拥有这个函数,或者使用我的。

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

更新

由于OP使用updatepanel,我有一个建议来实现相同的目的。在下面使用。我已经参考过这一点。

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

您可以在页面指令中尝试以下内容

<%@ page MaintainScrollPositionOnPostback="false"</p> <p>或者在后面的代码中可以编写以下内容:</p> <p>Page.MaintenanceScrollPositionOnPostBack = false;</p> <p>如果您有异步回发,请参阅以下帖子:</p> <p>在没有 JQuery 的情况下 ASP.Net Ajax 异步回发后滚动到页面顶部</p> </div> <div class="answers"> <p>你甚至不需要 C# 来实现这一点。你可以只用HTML来做到这一点:</p>

<button type="button" formaction="yoursite.com#top">Click me</button>
</div> <div class="answers"> <p>尽管您不想使用 JavaScript,但您可能仍可以考虑在视图上使用 Asp.Net 元素的 OnClientClick=" 属性,以便您的业务逻辑仍然可以使用 <strong>OnClick="</strong> 属性。<em></em> </p>
<asp:LinkButton ID="LinkButton1" OnClientClick="javascript:scroll(0,0);" OnClick="btnNextPage_Click" class="generic-button" runat="server">
<p>这只是将滚动放回页面的最顶部。如果你想有一个漂亮的动画,你必须包含并使用一个JavaScript库,如jQuery和一个相关的函数。</p> </div> <div class="answers"><p>我无法让上述任何一项为我工作。 </p> <p>我的方案:我在多视图中嵌入了一个网格视图。 用户单击 GridView 上的某些内容,它将视图切换到与单击的内容相关的输出。 浏览器将尝试在输出中保持与单击的行相同的位置,该位置将位于页面的中间位置或一直向下。</p> <p>我尝试运行 Javascript 以滚动到行上按钮的单击事件的顶部。 那奏效了..但在切换到新视图之前,它立即向下滚动。</p> <p>我最终尝试了这个,它有效。 我在切换视图并呈现内容后运行它。</p>
Page.ClientScript.RegisterStartupScript(Me.GetType, "scrollKey", "scrollTo(0, 0);", True)
<p>当我返回到原始视图时,我担心我会再次出现在页面的顶部,但是浏览器会滚动回 GridView 上的原始位置,这非常棒。</p> </div> <div class="answers"><p>我用javascript为我的 asp.net c#项目做这件事。当您位于页面顶部时,"滚动到顶部"按钮将被隐藏。您可以使用其他图像/颜色/位置更改按钮样式。</p> <p>我将在这里分享所有代码。您可以访问<strong>https://techaid24.com/scroll-to-top-button-aspx/</strong></p> <p>如果您遇到问题,可以在此处发表评论。</p> </div> </html>%>