我有一个带有pagertemplate的数据页。在模板中,我有一个“全部显示”按钮,它设置数据抓取器的PageSize以显示所有记录。这工作正常,但我希望能够在单击时隐藏按钮。它在UpdatePanel中,所以我不知道这是否有所作为?
<asp:DataPager ID="Pager" runat="server" PagedControlID="rangeList" PageSize="15" EnableViewState="false">
<Fields>
<asp:TemplatePagerField>
<PagerTemplate>
<asp:LinkButton ID="LinkButton1" runat="server" CommandArgument="<%# Container.TotalRowCount.ToString() %>"
oncommand="LinkButton1_Command" >Show All Ranges</asp:LinkButton>
</PagerTemplate>
</asp:TemplatePagerField>
<asp:numericpagerfield ButtonCount="10" NextPageText="..." PreviousPageText="..." CurrentPageLabelCssClass="pageOn" />
</Fields>
</asp:DataPager>
代码隐藏:
protected void LinkButton1_Command(object sender, CommandEventArgs e)
{ this.Pager.PageSize = int.Parse(e.CommandArgument.ToString());
LinkButton lb =(LinkButton)发件人; if(lb!= null) { lb.Visible = false; }
rangeList.DataBind(); }
第一次点击工作正常,刷新ListView,然后调整寻呼机以显示包含所有结果的一个页面,但按钮不会像我想要的那样消失。
有什么想法吗?
答案 0 :(得分:0)
如果在寻呼机中没有显示任何内容,为什么不隐藏寻呼机控制本身:
protected void LinkButton1_Command(object sender, CommandEventArgs e)
{
this.Pager.PageSize = int.Parse(e.CommandArgument.ToString());
this.Pager.Visible = false;
lnkShowPages.Visible = true; // EDIT only
rangeList.DataBind();
}
修改强>:
你可以拥有第二个“显示页面”LinkButton,它最初是不可见的,当单击Show All LinkButton时(上图)变为可见。单击此新LinkButton后,它可以通过设置Pager的PageSize和可见性并隐藏自身来启用分页:
protected void lnkShowPages_Command(object sender, CommandEventArgs e)
{
this.Pager.PageSize = int.Parse(e.CommandArgument.ToString());
this.Pager.Visible = true;
lnkShowPages.Visible = false;
rangeList.DataBind();
}