asp:linkbutton(导航到回发后的特定页面部分)

时间:2010-08-02 15:25:48

标签: asp.net

我有一些链接按钮来更新位于页面中间的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> 

source

我该怎么做?

3 个答案:

答案 0 :(得分:1)

您是否在页面声明中尝试了<%@ Page MaintainScrollPositionOnPostback="true" %>

此致

答案 1 :(得分:0)

客户端事件在服务器端之前触发。因此,即使您将窗口滚动到正确的位置 - 回发后您将返回到顶部。您可以将以下代码添加到服务器端LinkBut​​ton单击事件处理程序:

  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控件,以异步更新页面的一部分