单击下一个选项卡时,第二个选项卡内的ASP.NET C#datagridview分页转到第一个选项卡

时间:2014-05-27 02:15:07

标签: c# javascript jquery asp.net datagridview

当我尝试单击第二个选项卡中的第2页或DataGridView的任何页面时,它将转到包含我的一些文本框的第一个选项卡。我想要的是每次单击DataGridView的下一页时,它都会显示第二个选项卡,其中包含第二个页面而不是第一个选项卡。

有人可以帮帮我吗?

以下是我的代码:

page.aspx

<div id="tabs-2">
    <asp:GridView ID="GridView1" runat="server" AllowPaging="true" PageSize="10" class="table table-striped table-bordered dataTable table-hover table-responsive"
        OnPageIndexChanging = "OnPaging" DataKeyNames="Employee No.">
        <RowStyle CssClass="rowStyle" />
        <HeaderStyle CssClass="headerStyle" />
        <Columns>
            <asp:TemplateField>
                <ItemTemplate>
                    <asp:CheckBox ID="chkDelete" runat="server" onclick="Check_Click(this)" />
                </ItemTemplate>
            </asp:TemplateField>
        </Columns>
        <FooterStyle CssClass="footerStyle" />
    </asp:GridView>
    <a href="#" class="myButton btnPrev" style="color: black;">Previous Tab</a>
    <br />
    <br />
    <asp:HiddenField ID="hfCount" runat="server" Value = "0" />
    <asp:Button ID="btnDelete" runat="server" CssClass="btn btn-warning" Text="Delete"
        OnClientClick="return ConfirmDelete();" OnClick="btnDelete_Click" />
</div>

page.aspx.cs

protected void OnPaging(object sender, GridViewPageEventArgs e)
        {
            GridView1.PageIndex = e.NewPageIndex;
            GridView1.DataBind();
            SetData();
        }

1 个答案:

答案 0 :(得分:0)

似乎当前选定的标签页在页面回发期间重置。如果您使用jQuery,这可以很容易地完成。  您可能需要将选定的选项卡页存储在选项卡页面已更改事件(可能在隐藏字段中),并在页面加载方法上恢复所选选项卡。