如果在asp.net中回发完成后如何滚动到页面底部?
当我在主要详细信息中单击“显示详细信息”时,页面中有很多详细信息,此页面在我的页面中显示了许多数据。那么如何自动滚动到页面底部?
答案 0 :(得分:14)
要保持大网页的滚动位置,您可以使用以下方法:
1-使用Web.config页面部分<pages maintainScrollPositionOnPostBack="true" />
:这将保留所有网站页面的滚动位置。
页面声明<%@ Page MaintainScrollPositionOnPostback="true" %>
中的2-:这将仅保留此页面的滚动位置。
3-以编程方式从System.Web.UI.Page.MaintainScrollPositionOnPostBack = true;
后面的代码:这将仅保留此页面的滚动位置(与页面拆分相同)。
答案 1 :(得分:12)
您可以注册一个javascript来将滚动条移动到您想要的某个控件的位置,如下所示:
protected void Page_Load(object sender, EventArgs e)
{
if (IsPostBack)
{
RegisterStartupScript("ScrollScript", "document.getElementById('objectId').scrollIntoView(true);");
}
}
在脚本中更改要滚动到的对象的Id的objectId。
正如Guy Starbuk在评论中所指出的,{。1}在.Net 4中已被弃用,现在推荐的注册脚本的方法是:
RegisterStartupScript
答案 2 :(得分:0)
在页面上创建锚点,然后在onload上创建:
window.location.href = "#myanchor"
答案 3 :(得分:0)
这里的答案中缺少的一件事是延迟。如果在加载过程中网页的高度没有变化,这一切都很好。但如果有很多图像,你的尝试滚动过去;他们可以再次恢复你的观点。
需要的是window.onload函数调用:
ClientScript.RegisterStartupScript(GetType(), "ScrollScript", "window.onload = function() {document.getElementById('objectid').scrollIntoView(true);}", true);
答案 4 :(得分:0)
在asp.net网页中,您可以向控件添加OnClientClick事件,从而导致服务器回发以将页面滚动到底部。
<asp:Button ID="MyButton" runat="server" Text="Submit" OnClick="MyButton_Click" OnClientClick="window.scrollTo(0, document.body.scrollHeight);" />