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

时间:2014-12-11 17:34:39

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

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

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

我试过这个:

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

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

6 个答案:

答案 0 :(得分:3)

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

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

此处window.scroll(x,y)表示滚动的位置(x-cord,y-cord)。我用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>

答案 1 :(得分:2)

您可以在页面指令

中尝试以下操作

&lt;%@ Page MaintainScrollPositionOnPostback =“false”

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

Page.MaintainScrollPositionOnPostBack = false;

如果你的回复是异步回复,请参阅以下帖子:

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

答案 2 :(得分:1)

你甚至不需要C#。您只需使用HTML即可完成此操作:

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

答案 3 :(得分:0)

我无法让上述任何一项为我工作。

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

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

我最终尝试了这个,它确实有效。我在切换视图并呈现内容后运行它。

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

当我回到原始视图时,我很担心我会再次位于页面顶部,但浏览器会回滚到GridView上的原始位置,这非常棒。

答案 4 :(得分:0)

虽然您不想使用JavaScript,但您仍可以考虑在视图上使用Asp.Net元素的 OnClientClick =“”属性,这样您的业务逻辑仍然可以使用< em> OnClick =“”属性。

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

这只是将滚动放回到页面的最顶部。 如果你想要一个漂亮的动画,你必须包含和使用JavaScript库,如jQuery和相关的功能。

答案 5 :(得分:0)

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

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

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