0

それは奇妙な問題です。グリッドビューページャーテンプレートであるドロップダウンリストselectedindexchangedでグリッドビューのページサイズを設定しています。ここに私のhtmlソースがあります

<PagerTemplate>
                        <div class="grid-footer">
                            <div class="gridfooter_size">                           <asp:DropDownList ID="pageSize2" runat="server" AutoPostBack="true" 
                                    onselectedindexchanged="pageSize2_SelectedIndexChanged">
                                <asp:ListItem Value="10" Selected="True">10</asp:ListItem>
                                    <asp:ListItem Value="25">25</asp:ListItem>
                                    <asp:ListItem Value="50">50</asp:ListItem>
                                    <asp:ListItem Value="100">100</asp:ListItem>                                  
                              </asp:DropDownList>

                            </div>
                            <div class="gridfooter_info">
                                <asp:Label ID="lblSummary" runat="server"></asp:Label>
                            </div>
                            <div class="gridfooter_paginate">
                                <asp:LinkButton ID="lnkFirstbnt" runat="server" CommandName="Page" CssClass="pagerclass-nxt"
                                    CausesValidation="false" CommandArgument="First">First</asp:LinkButton>
                                <asp:LinkButton ID="lnkPrevbnt" runat="server" CommandName="Page" CssClass="pagerclass-prev"
                                    CausesValidation="false" CommandArgument="Prev">Previous</asp:LinkButton>
                                <asp:Label ID="CurrentPage" CssClass="pagerclass-number" Visible="false" runat="server"
                                    Text="Label"></asp:Label>
                                <asp:LinkButton ID="lnkNextbnt" runat="server" CommandName="Page" CssClass="pagerclass-next"
                                    CausesValidation="false" CommandArgument="Next">Next</asp:LinkButton>
                                <asp:LinkButton ID="lnkLastbnt" runat="server" CommandName="Page" CssClass="pagerclass-last"
                                    CausesValidation="false" CommandArgument="Last">Last</asp:LinkButton>
                            </div>
                        </div>
                    </PagerTemplate>

これが私のコードビハインドです

Protected Sub pageSize2_SelectedIndexChanged(sender As Object, e As System.EventArgs)
    Dim gvr2 As GridViewRow = GridView2.BottomPagerRow
    Dim ddPageSize2 As DropDownList = DirectCast(gvr2.Cells(0).FindControl("pageSize2"), DropDownList)
    GridView2.PageSize = Convert.ToInt32(ddPageSize2.SelectedValue)
    Call GetDataTables2()
End Sub

ポストバックが発生するpageSize2_SelectedIndexChangedと、ドロップダウンリストの選択されたすべての値に対してイベントが発生しますが、ページはレンダリングされません。pageSize2_SelectedIndexChanged イベントCall GetDataTables2()メソッドからジャンプしています。ドロップダウンリストの選択値が 10 の場合、ページはレンダリングされています。これは奇妙です。何が問題なのか、解決策を提案してください

4

1 に答える 1

0

問題は、同じ更新パネルで 2 つのグリッドビューを使用していることです。そして、2 つの gridview のテンプレートの下に同じ ID を持つコントロールを持つこれらの 2 つの gridview。これは、ビジュアル スタジオのバグである可能性があります。updatepanelを削除するまで、コンパイル時の例外はなく、実行時でもありませんでした。コントロール ID を変更しました。現在、正常に動作しています。

于 2014-02-24T11:02:10.967 に答える