如何在asp.net的postback完成后滚动到页面底部?
当我点击主从关系中的“显示详情”时,我的页面上有许多细节信息,该页面显示了许多数据。那么如何自动滚动到页面底部呢?
如何在asp.net的postback完成后滚动到页面底部?
当我点击主从关系中的“显示详情”时,我的页面上有许多细节信息,该页面显示了许多数据。那么如何自动滚动到页面底部呢?
要保持大型网页的滚动位置,可以使用以下这些方法之一:
1- 使用Web.config页面部分标签 <pages maintainScrollPositionOnPostBack="true" />
:这将维护整个网站页面的滚动位置。
2- 在页面声明中 <%@ Page MaintainScrollPositionOnPostback="true" %>
:这将只为该页面维护滚动位置。
3- 通过代码后端编程实现 System.Web.UI.Page.MaintainScrollPositionOnPostBack = true;
:这将只为该页面维护滚动位置(与页面声明相同)。
你可以注册一个JavaScript函数,将滚动条移动到你想要的某个控件位置,像这样:
protected void Page_Load(object sender, EventArgs e)
{
if (IsPostBack)
{
RegisterStartupScript("ScrollScript", "document.getElementById('objectId').scrollIntoView(true);");
}
}
更改脚本中的objectId为您想要滚动到的对象的Id。RegisterStartupScript
已在.Net 4中弃用,现在推荐的注册脚本方式是: ClientScript.RegisterStartupScript(GetType(), "ScrollScript", "document.getElementById('objectId').scrollIntoView(true)", true);
<asp:Button ID="MyButton" runat="server" Text="Submit" OnClick="MyButton_Click" OnClientClick="window.scrollTo(0, document.body.scrollHeight);" />
ClientScript.RegisterStartupScript(GetType(), "ScrollScript", "window.onload = function() {document.getElementById('objectid').scrollIntoView(true);}", true);
在页面上创建一个锚点,然后在onload事件中:
window.location.href = "#myanchor"