65.9K
CodeProject 正在变化。 阅读更多。
Home

维护和控制滚动位置

starIcon
emptyStarIcon
starIcon
emptyStarIconemptyStarIconemptyStarIcon

1.24/5 (6投票s)

2006年1月16日

CPOL
viewsIcon

26636

提供了关于保持滚动位置以及在必要时重置滚动位置的详细信息。

引言

网上有很多关于在回发期间保持滚动位置的解决方案,所以我不会重复这些。相反,您可以访问 http://aspnet.4guysfromrolla.com/articles/111704-1.aspx,了解如何创建一个不错的 Web 控件来保持滚动位置。

我需要做的额外部分是在页面期间保持滚动位置,然后在页面上发生特定操作时,将滚动位置重置到顶部。

我有一个表单,有两个占位符

  1. 供用户输入详细信息,以及
  2. 向用户显示结果。

第一个占位符比较长,所以我需要为用户保持滚动位置,但是当用户提交表单时,我隐藏第一个占位符并显示结果占位符。如果我只使用保持功能,结果占位符不会从顶部显示,而是从提交按钮的滚动位置显示。这不太理想。

以下是将您输入到代码后 Page_Load 方法中的代码,以确保将滚动值重置为结果页面的零。

private void Page_Load(object sender, System.EventArgs e)
{
    StringBuilder sb = new StringBuilder();
    sb.Append("if (typeof(Page_ClientValidate) == 'function'){");
    sb.Append("if (Page_ClientValidate() == false){return false;}} ");
    sb.Append("document.forms['FormID'].scrollLeft.value = 0;" +
        "document.forms['FormID'].scrollRight.value = 0;");
    sb.Append(this.Page.GetPostBackEventReference(this.btnSubmit));
    sb.Append(";");
    this.btnSubmit.Attributes.Add("onclick", sb.ToString());
}

希望这能帮助到某人。

© . All rights reserved.