我有以下的PagerTemplate。我需要在用户查看第一页时隐藏Previous链接,如果用户正在查看Last页面,则隐藏Next链接。
<PagerTemplate>
<table border="0" style="width: 100%;">
<tbody>
<tr>
<td style="float: right;">
<asp:LinkButton CommandName="Page" CommandArgument="Prev" ID="LinkButton2" runat="server"><< Previous</asp:LinkButton>
<asp:LinkButton CommandName="Page" CommandArgument="Next" ID="LinkButton3" runat="server" >Next >></asp:LinkButton>
</td>
<td style="clear: both"></td>
</tr>
</tbody>
</table>
</PagerTemplate>
答案 0 :(得分:3)
网格的PageIndex
和PageCount
属性可以为您提供帮助 - 仅在PageIndex > 0
时显示/启用上一个链接,而PageIndex < PageCount - 1
时仅显示/启用下一个链接
使用行创建的事件来查找控件并更改可见性。例如,
protected void GridView_RowCreated(Object sender, GridViewRowEventArgs e)
{
if(e.Row.RowType == DataControlRowType.Pager)
{
var prev = (LinkButton)e.Row.FindControl("LinkButton2");
prev.Visible = Grid.PageIndex > 0;
var next = (LinkButton)e.Row.FindControl("LinkButton3");
next.Visible = Grid.PageIndex < grid.PageCount - 1;
}
}
我不确定您是否需要当前UI的自定义模板。您可以使用寻呼机设置 - 例如,
<pagersettings mode="NextPrevious"
nextpagetext="Next >>"
previouspagetext="<< Previos"
position="Bottom"/>
使用PagerStyle为UI设计样式。
<PagerStyle CssClass="myPager" />