我有一些链接按钮来更新位于页面中间的gridview。每当我点击编辑或删除等时,窗口会滚动到返回页面的顶部。我希望它能够专注于grideview。我尝试过javascript函数,但由于某些原因它没有用。
(编辑:就滚动而言,以下工作有效,但会阻止回发)
这是我试过的东西
<script type="text/javascript" language="javascript">
function goto() {
window.scrollTo(10, 1100);
}
</script>
<asp:LinkButton ID="lbtnGo" runat="server" OnClientClick="javascript:goto();return false;">GO</asp:LinkButton>
我该怎么做?
答案 0 :(得分:1)
您是否在页面声明中尝试了<%@ Page MaintainScrollPositionOnPostback="true" %>
?
此致
答案 1 :(得分:0)
客户端事件在服务器端之前触发。因此,即使您将窗口滚动到正确的位置 - 回发后您将返回到顶部。您可以将以下代码添加到服务器端LinkButton单击事件处理程序:
if (!this.IsStartupScriptRegistered("ScrollToGrid"))
{
String scriptString = "<script language=\"JavaScript\">";
scriptString += "window.scrollTo(10, 1100);";
scriptString += "</script>";
this.RegisterStartupScript("ScrollToGrid", scriptString);
}
这将在回发后将javascript块添加到您的页面
答案 2 :(得分:0)
根据.NET框架的可用属性,有一些可以帮助您解决问题:
ASP.NET 1.x:使用SmartNavigation。 ASP.NET 2.0:使用MaintenanceScrollPositionOnPostBack。使用UpdatePanel控件异步更新页面的一部分
最好的方法是UpdatePanel控件,以异步更新页面的一部分