如何在 C# 中将 asp.net 页面移动到顶部
本文关键字:移动 顶部 net asp 中将 | 更新日期: 2023-09-27 18:34:06
如果最终用户向下滚动页面,我想通过单击按钮将页面移回顶部。用户单击按钮,我进行验证。错误消息位于页面顶部,按钮位于页面底部。如果某些内容无效,那么我想让用户滚动回页面顶部,以便他们可以看到错误消息。
我该怎么做?我不想使用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-线,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>%>