【发布时间】:2013-02-01 10:55:00
【问题描述】:
我在用户控件中有一个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();
}
谁能给我任何可能的原因?
【问题讨论】:
-
您是否已单步执行您的代码?
-
@codingbiz:是的,我放了断点并检查了所有内容。当我单击分页时,代码执行的唯一地方是页面加载事件
-
尝试取出您的寻呼机设置并将页面大小属性添加到 gridview 定义。在您托管控件的页面上,是否需要任何字段验证?这可能会阻止您将表单提交到服务器。
-
@LairdStreak:删除 PagerSettings 从未对问题做出任何改变
-
代码看起来不错尝试从网格中删除“grdMissingFilterData_PageIndexChanging”并在 page_preinit 中绑定事件看起来像这样 grdMissingFilterData.grdMissingFilterData_PageIndexChanging += grdMissingFilterData_PageIndexChanging();
标签: asp.net gridview user-controls page-index-changed