如果最终用户向下滚动页面,我想通过单击按钮将页面移回顶部。用户单击该按钮,然后进行验证。错误消息位于页面顶部,按钮位于页面底部。如果某些内容无效,那么我想将用户滚动回到页面顶部,以便他们可以看到错误消息。
我该怎么做?除非必须,否则我不想使用java脚本。有没有在C#中从后面的代码执行此操作?
我试过这个:
ScriptManager.RegisterStartupScript(Page, this.GetType(), "ScrollPage", "scrollToTop();", true);
在运行时我收到错误:0x800a1391 - JavaScript运行时错误:' scrollToTop'未定义
答案 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/
如果遇到问题,可以在这里发表评论。