单击按钮后如何将页面滚动到页面底部?

时间:2015-02-24 18:43:53

标签: c# asp.net gridview scroll

当我点击指定按钮

时,我想向下滚动页面到底部

例如点击' btn'出现gridview但用户必须向下滚动才能看到gridview,但我希望它在gridview出现后立即移动

<asp:Button ID="btnSubscribe" runat="server" CssClass="btn btn-success" Width="35px"
                                    OnClick="btnSubscribe_Click" Text="+" />
<asp:GridView ID="GridViewResults" runat="server" Width="100%" AutoGenerateColumns="False"
                        OnRowDeleting="GridViewResults_RowDeleting" ShowFooter="True" DataMember="S.No"
                        OnRowDataBound="GridViewResults_RowDataBound" CssClass="table table-hover table-striped table-bordered">

                    </asp:GridView>

注意:整个页面和部分显示在“更新面板”

1 个答案:

答案 0 :(得分:0)

您可以使用JavaScript完成此操作:

<input type="button" value="Click Me" onclick="document.getElementById('<%= myGridView.ClientID %>').scrollIntoView();" />

鉴于您的GridView的名称是myGridView。如果您有服务器端控件,则可以创建JavaScript函数并从OnClientClick调用它。

编辑:如果你有一个UpdatePanel,你希望能够在UpdatePanel更新了某些东西时执行前面的代码。试试这个:

<script>
        function focusGrid() {
            var gv = document.getElementById('<%= myGridView.ClientID %>');
            if(gv)
                gv.scrollIntoView();
        }

        onload = function () {
            Sys.WebForms.PageRequestManager.getInstance().add_endRequest(function () { focusGrid(); });
        }
    </script>

此代码的作用是注册在UpdatePanel的请求结束后执行的处理程序。然后调用focusGrid函数,如果它在此时是DOM的一部分,它将使GridView成为焦点。

相关问题