0

我正在使用多页网格视图来显示一堆数据。这是gridview的代码。

<asp:GridView ID="unverifiedlist" runat="server" AutoGenerateColumns="false" AllowSorting="true" AllowPaging="true"  OnRowDataBound="unverifiedlist_RowDataBound" style="font-size:12px" >
                        <Columns><asp:BoundField HeaderText="Surname" DataField="Surname" ReadOnly="true"/></Columns>
                        <Columns><asp:BoundField HeaderText="Firstname" DataField="Givenname" ReadOnly="true"/></Columns>
                       ......
                        <Columns><asp:TemplateField HeaderText="Options" >
                                    <ItemTemplate>
                                        <asp:DropDownList ID="options" runat="server" AutoPostBack="true" OnSelectedIndexChanged="options_SelectedIndexChanged">
                                            <asp:ListItem></asp:ListItem>
                                            <asp:ListItem Value="1">Verified</asp:ListItem>
                                            <asp:ListItem Value="2">Rejected</asp:ListItem>
                                        </asp:DropDownList>
                                    </ItemTemplate>
                                 </asp:TemplateField>
                                 <asp:TemplateField HeaderText ="Reason">
                                    <ItemTemplate>
                                        <asp:TextBox ID="reason" runat="server" OnTextChanged ="reason_TextChanged"></asp:TextBox>
                                    </ItemTemplate>
                                 </asp:TemplateField>
                        </Columns>
                        <PagerSettings Visible="false"/>            
            </asp:GridView>


<asp:DropDownList ID="PageSelect" AutoPostBack="true" runat="server" OnSelectedIndexChanged="PageSelect_SelectedIndexChanged"></asp:DropDownList>

有一个名为“选项”的列,其中包含一个下拉列表,每次更改所选索引以保存编辑的行时,它都会回发。我试图避免这种频繁的回发。所以我想如果我可以在用户转到下一页之前保存整个页面。问题是“PageSelect”下拉列表的回发会先触发页面重新加载,然后是onselectedindexchanged事件,此时gridview已经翻到了下一页。那么有人可以给我一些建议吗?

4

2 回答 2

0

您可以将网格视图的 EnableSortingAndPagingCallBacks 属性设置为 true ,但如果您在网格视图中使用模板字段,这将不起作用,为了维护页面的状态,您必须在会话和页面加载时保留当前页面的值你可以检查会话..

于 2012-06-04T13:19:14.993 回答
0

我最后使用了gridview 本身的分页导航控件而不是我的下拉列表。然后我可以使用 pageindexchanging 事件将当前页面保存到会话中,然后再转到下一页

于 2012-06-06T19:18:23.973 回答