GridView的PageIndexChanging事件没有触发

3

我有一个用户控件里面嵌套了一个GridView。

 <asp:GridView ID="grdMissingFilterData" runat="server"   AllowPaging="True" Width="100%"
                        AllowSorting="True" AutoGenerateColumns="False" GridLines="None"
                        PageSize="30" OnPageIndexChanging="grdMissingFilterData_PageIndexChanging">
                        <Columns>
                            <asp:BoundField DataField="Varenummer" HeaderText="Varenummer"   ItemStyle-Width="25%" >
                            <ItemStyle Width="25%" />
                            </asp:BoundField>
                            <asp:BoundField DataField="Varenavn" HeaderText="Varenavn"  ItemStyle-Width="15%" >
                            <ItemStyle Width="15%" />
                            </asp:BoundField>
                            <asp:BoundField DataField="Producentvarenummer" HeaderText="Producent varenummer"  ItemStyle-Width="15%" >
                            <ItemStyle Width="15%" />
                            </asp:BoundField>
                        </Columns>
                        <AlternatingRowStyle CssClass="altrow" />
                        <PagerSettings FirstPageText="First" LastPageText="Last" PageButtonCount="50" />
                        <EmptyDataTemplate>
                            There is no data available to display!
                        </EmptyDataTemplate>
   <PagerStyle CssClass="pager" />
    </asp:GridView>

并在回发中编写代码

if (!Page.IsPostBack)
    {  
        BindData(); 
    }

然后我有一个PageIndexChanging事件,但当我点击分页时它从未触发。

 protected void grdMissingFilterData_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
    grdMissingFilterData.PageIndex = e.NewPageIndex;
    BindData();
}

有人能给我提供可能的原因吗?


(注:本文已翻译为中文,保留了HTML标签)

你有逐行调试你的代码吗? - codingbiz
@codingbiz:是的,我已经设置了断点并检查了所有内容。当我点击分页时,唯一执行代码的地方是页面加载事件。 - None
尝试将您的pager设置移除,并在gridview定义中添加页面大小属性。您托管控件的页面上是否需要任何字段验证?这可能会阻止您向服务器提交表单。 - Laird Streak
@LairdStreak:移除PagerSettings对问题没有任何改变。 - None
代码看起来很好,请尝试从网格中删除“grdMissingFilterData_PageIndexChanging”,并在page_preinit中绑定事件,类似于以下内容:grdMissingFilterData.grdMissingFilterData_PageIndexChanging += grdMissingFilterData_PageIndexChanging(); - Laird Streak
你确定这个问题是什么? - Flea
1个回答

2
这可能很可能与您的用户控件有关,而不是网格视图。请专注于该部分。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接