【问题标题】:asp.net grid view gives random page numbersasp.net 网格视图给出随机页码
【发布时间】:2014-11-23 12:05:42
【问题描述】:

我有一个网格视图,每个页面应该有5个元素,当超过5个时,应该有分页。

目前的情况

当我有四个元素时,分页不出现--->好

当我有五个元素时,分页包含(1,2)个页面出现--->错误

当我点击任何这些页码时,页码开始增加。例如,如果我有两个页码 (1,2) 并且我点击了第 2 页,那么我将有 (1,2,3) 页码等等.. ---> 错误

代码

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 

                CellPadding="4" ForeColor="#333333" GridLines="None" AllowPaging="True" AllowSorting="True"
                OnPageIndexChanging="GridView1_PageIndexChanging" PageSize="5">
                <AlternatingRowStyle BackColor="White" ForeColor="#284775" />
                <Columns>
                    <asp:BoundField DataField="customerID" HeaderText="Customer ID" ReadOnly="true">
                        <HeaderStyle HorizontalAlign="Left" Wrap="False" />
                        <ItemStyle HorizontalAlign="Left" VerticalAlign="Middle" />
                    </asp:BoundField>
                    <asp:BoundField DataField="firstName" HeaderText="Forename" ReadOnly="true">
                        <HeaderStyle HorizontalAlign="Left" Wrap="False" />
                        <ItemStyle HorizontalAlign="Left " VerticalAlign="Middle" />
                    </asp:BoundField>
                    <asp:BoundField DataField="lastName" HeaderText="Surname" ReadOnly="true">
                        <HeaderStyle HorizontalAlign="Left" Wrap="False" />
                        <ItemStyle HorizontalAlign="Left " VerticalAlign="Middle" />
                    </asp:BoundField>
                    <asp:BoundField DataField="mobileNumber" HeaderText="Phone" ReadOnly="true">
                        <HeaderStyle HorizontalAlign="Left" Wrap="False" />
                        <ItemStyle HorizontalAlign="Left" VerticalAlign="Middle" />
                    </asp:BoundField>
                    <asp:TemplateField HeaderText="Details" ItemStyle-HorizontalAlign="Right" HeaderStyle-HorizontalAlign="Center">
                        <ItemTemplate>
                            <a href="javascript:void(0);" onclick="LoadDetails('<%#Eval("customerID")%>','<%#Eval("mobileNumber")%>',this)">
                                View Details</a>
                        </ItemTemplate>
                        <HeaderStyle HorizontalAlign="Center"></HeaderStyle>
                        <ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" />
                    </asp:TemplateField>
                </Columns>
                <EditRowStyle BackColor="#999999" />
                <FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
                <HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
                <PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Justify" CssClass="pageer"
                    VerticalAlign="Middle" />
                <RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
                <SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />
                <SortedAscendingCellStyle BackColor="#E9E7E2" />
                <SortedAscendingHeaderStyle BackColor="#506C8C" />
                <SortedDescendingCellStyle BackColor="#FFFDF8" />
                <SortedDescendingHeaderStyle BackColor="#6F8DAE" />
            </asp:GridView>

我已经处理了页面索引更改:

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

【问题讨论】:

  • 请帮助......

标签: c# asp.net .net gridview aspxgridview


【解决方案1】:

您填充作为页面中静态字段的 DataTable。在这种情况下,不会在您每次向页面发送回发时创建此表。因此,从数据库中提取的记录将被添加到 DataTable 中的现有记录中。从此字段中删除静态语句:

private DataTable dataTable = getDataTableStructure();

【讨论】:

  • 它仍然适用于您在 GridView1_PageIndexChanging 中的代码。如何分配数据源?
  • 我会更新问题给你信息
  • 还要说明为什么需要在 PageIndexChanging 上调用 GridView.DataBind。您是否在 GridView 的 DataBinding 事件中执行了一些代码?
  • 不,我没想到,我只是在尝试,即使我删除了那部分,我仍然有问题
  • 我给了你整个代码,如果你想要我可以给你项目的数据吗?
猜你喜欢
  • 2011-07-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-07
  • 2017-12-05
  • 1970-01-01
相关资源
最近更新 更多