【发布时间】:2013-05-23 17:44:37
【问题描述】:
我有一个使用 asp GridView 的网站。
当用户单击gridview 底部的分页按钮时,页面会重新加载到底部。我需要将页面加载到顶部。
有没有办法在 PageIndexChanging 内部完成这项工作?
另外,我尝试在相关页面布局的页面标签中添加 MaintainScrollPositionOnPostback="false",但没有奏效。
【问题讨论】:
我有一个使用 asp GridView 的网站。
当用户单击gridview 底部的分页按钮时,页面会重新加载到底部。我需要将页面加载到顶部。
有没有办法在 PageIndexChanging 内部完成这项工作?
另外,我尝试在相关页面布局的页面标签中添加 MaintainScrollPositionOnPostback="false",但没有奏效。
【问题讨论】:
我设法自己解决了这个问题。
这是我的解决方案:
我使用 ClientScriptManager 和 RegisterClientScriptBlock 运行一段 javascript 来将窗口位置设置为新的锚点(“新闻”)。然后,我将“新闻”锚点添加到我的页面布局中(靠近页面顶部)。
ClientScriptManager script = Page.ClientScript;
System.Text.StringBuilder sb = new System.Text.StringBuilder();
sb.Append(@"<script language='javascript'>");
sb.Append(@"window.location.hash='news';");
sb.Append(@"</script>");
script.RegisterClientScriptBlock(typeof(string), "scroll", sb.ToString(), false);
希望这对未来的人有所帮助!
【讨论】: