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

问题描述 投票:1回答:6

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

我该怎么做?除非必须,否则我不想使用Java脚本。在C#中是否可以从后面的代码中做到这一点?

我已经尝试过:

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

在运行时出现错误:0x800a1391-JavaScript运行时错误:'scrollToTop'未定义

c# asp.net visual-studio-2013 webforms code-behind
6个回答
3
投票

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

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

这里window.scroll(x,y)表示滚动的位置(x线,y线)。我已经使用0,0滚动到TOP。

您曾经使用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>

2
投票

您可以在page指令中尝试以下操作

或者在后面的代码中,您可以编写以下内容:

Page.MaintainScrollPositionOnPostBack = false;

并且如果您要回发异步消息,则请参阅以下消息:

Scroll to top of page after ASP.Net Ajax Async-Postback without JQuery


1
投票

您甚至不需要C#。您可以使用HTML来完成此操作:

<button type="button" formaction="yoursite.com#top">Click me</button>

1
投票

尽管您不想使用JavaScript,但您仍可以考虑在视图上使用Asp.Net元素的OnClientClick =“”属性,因此您的业务逻辑仍然可以使用OnClick =“ “属性。

<asp:LinkButton ID="LinkButton1" OnClientClick="javascript:scroll(0,0);" OnClick="btnNextPage_Click" class="generic-button" runat="server">

这只是将滚动回到页面的顶部。如果您想要带有一个不错的动画,则必须包含并使用JavaScript库(例如jQuery)和相关函数。


0
投票

我无法获得以上任何一项为我工作。

我的场景:我在MultiView中嵌入了GridView。用户单击GridView上的某些内容,然后将Views切换到与单击的内容有关的输出。浏览器将尝试在输出上与单击的行保持相同的位置,该行将位于页面的下方或一直向下。

我尝试运行Javascript滚动到该行上按钮的click事件的顶部。可以,但是在切换到新视图之前,它立即向下滚动。

我最终尝试了此方法,并且有效。我在切换视图并呈现内容之后运行它。

Page.ClientScript.RegisterStartupScript(Me.GetType, "scrollKey", "scrollTo(0, 0);", True)

[当我回到原始视图时,我担心我会再次回到页面的顶部,但是浏览器会滚动回到GridView上的原始位置,这真是太棒了。


0
投票

我使用javascript对asp.net c#项目进行此操作。当您位于页面顶部时,“滚动到顶部”按钮将被隐藏。您可以使用其他图像/颜色/位置来更改按钮样式。

我将在这里共享所有代码。您可以访问https://techaid24.com/scroll-to-top-button-aspx/

如果遇到问题,可以在这里发表评论。

© www.soinside.com 2019 - 2024. All rights reserved.